版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
理论结构化查询语言用第一页,共三十五页,2022年,8月28日6.1SQL语言概述关系数据库管理系统的标准语言
包括:Oracle、Sybase、MicrosoftSQLServer、Access第二页,共三十五页,2022年,8月28日6.1SQL语言概述(1)一体化(2)完备的查询功能(统计和计算)(3)简洁易学(命令少,语法简单)(4)非过程化(5)用法灵活(6)可对视图操作第三页,共三十五页,2022年,8月28日内容6.2数据定义6.3数据操作6.4数据查询优越性:不需要打开相关表,直接使用SQL语句即可。第四页,共三十五页,2022年,8月28日6.2SQL定义功能建立表结构(CREATTABLE)修改表结构(ALTERTABLE)建立视图(CREATSQLVIEW)第五页,共三十五页,2022年,8月28日例子CREATTABLE通讯录FREE(姓名C(8);生日D,家庭电话C(14),手机C(12))ALTERTABLE通讯录ADD地址C(24)ALTERTABLE通讯录ALTER地址C(30)ALTERTABLE通讯录DROP地址ALTERTABLE通讯录RENA地址TODZ
altertable<表名>primarykey<关键字>tag<索引标识名>第六页,共三十五页,2022年,8月28日建立视图
createsqlview<视图名>as<select语句>说明:<select语句>在查询中讲,因为视图设计器和查询设计器基本上是一致的。第七页,共三十五页,2022年,8月28日6.3SQL的数据修改功能6.3.1插入数据6.3.2更新数据6.3.3删除数据第八页,共三十五页,2022年,8月28日6.3.1插入数据1.命令格式insertinto<表名>[(<字段名1>[,<字段名2>,…])]values(<表达式1>[,<表达式2>,…])在表尾插入记录Value中表达式的值为插入记录的具体值,各表达式的类型、宽度和先后顺序须与指定的各字段对应。若插入所有字段,后面的字段名可以省略,但插入的数据与表的结构要完全吻合。第九页,共三十五页,2022年,8月28日例:在ZGDA中插入一条记录插入部分字段的记录:
Insertintozgda(编号,姓名,基本工资);values([2000117],[张笑],500)插入所有字段的记录:
Insertintozgdavalues([2000117],[张笑],;[女],[工程师],1260)第十页,共三十五页,2022年,8月28日6.3.2更新数据update<表名>set<字段名1>=<表达式1>[,<字段名2>=<表达式2>…]where(<逻辑表达式>)]缺省where短语是对所有记录进行数据更新例:(1)updatezgdaset年龄=年龄+1,;基本工资=基本工资*1.1(2)updatezgdaset基本工资=基本工资+80;where性别=[女](3)职称是高工的基本工资用实发工资的1.15倍加80填入?第十一页,共三十五页,2022年,8月28日6.3.3删除数据deletefrom<表名>[where<逻辑表达式>]缺省where则删除所有记录仅对要删除的记录做上删除标记(逻辑删除)例:deletefromzgdawhere年龄>55
pack第十二页,共三十五页,2022年,8月28日6.4SQL的数据查询功能
(核心)完成从一个或多个数据表中检索数据的功能。注意:同样不需要打开表和所在的数据库,直接输入命令,即可得到结果。第十三页,共三十五页,2022年,8月28日sele……from(最短形式)whereorderbygroupby…havingtop|distinctinto|to第十四页,共三十五页,2022年,8月28日基本结构:SELECT…FROM…WHEREWHERE:联接和筛选条件ORDERBY:排序依据GROUPBY:分组依据INTO<目的地>:查询去向第十五页,共三十五页,2022年,8月28日6.4.2简单查询1.查询student表中男生记录,结果存入新表nsjlselect*fromstudent;
where性别=“男”;
intodbfnsjl2.查询student表中非北京籍女生的姓名,年龄,籍贯select姓名,年龄,籍贯fromstudent;
where性别=“女”and籍贯!=“北京”
第十六页,共三十五页,2022年,8月28日3.查询student表中有哪些班级(不出现重复值)selectdistinct
班级fromstudent4.查询student表中年龄在19-20之间的学生记录,并按出生日期排序select*
fromstudent;
where年龄between19and20;
orderby
出生日期desc第十七页,共三十五页,2022年,8月28日例:在student表中查询所有姓“张”的同学的记录。sele*fromstudentwhere姓名like[张%]说明:Like是字符串匹配运算符,允许使用通配符%,_%:代表零个或任意多个字符;_:代表任意一个字符;问题:查找姓张,而且名字有三个字的人如何查找?sele*fromstudentwhere姓名like[张__]第十八页,共三十五页,2022年,8月28日例:在student表中查询所有籍贯为“内蒙古”或“山东”的记录。sele*fromstudentwhere籍贯in([内蒙古],[山东])问题:查找zgda表中职称不是“工程师”也不是“助工”的记录。sele*fromzgda;where职称notin([工程师],[助工])第十九页,共三十五页,2022年,8月28日5.查询student表中年纪最小的三名的学生记录select*
top3fromstudent;
orderby
出生日期descTOP子句必须同时与ORDERBY子句使用!第二十页,共三十五页,2022年,8月28日6.4.4嵌套查询VFP允许在一个SELECT查询命令的WHERE短语中包含另一个SELECT查询命令1.在图书管理数据库中,按班级次序列出借书超过60天的学生所在班级,学号、姓名。Select姓名,学号,班级fromstudent;where学号
in
(select学号
fromborrow;wheredate()-借书日期>60);orderby班级第二十一页,共三十五页,2022年,8月28日6.4.3嵌套查询2.在图书管理数据库中,列出未曾借过书的男生记录
Select*fromstudent;where性别=“男”
and;学号notin
(select学号fromborrow)
第二十二页,共三十五页,2022年,8月28日6.4.5多表查询基于多个相关联数据表的查询,数据表之间的关联通常是按两表中对应字段的共同值建立联系。1.在图书管理库中,查询借阅“大学英语”书的学生姓名、性别、借书日期。
Selectstudent.姓名,student.性别,borrow.借书日期
fromstudent,borrow
wherestudent.学号=borrow.学号and
borrow.书名=“大学英语”第二十三页,共三十五页,2022年,8月28日selezgda.编号,zgda.姓名,;(zgda.基本工资+zjgz.增资额)as
最终工资;fromzgda,zjgz;wherezgda.编号=zjgz.编号;
orderby3
2、在职工管理数据库中(包含zgda和zjgz),查询出职工最终发的工资是多少(=基本工资+增资额),并按最终工资从高到低输出编号、姓名、最终工资第二十四页,共三十五页,2022年,8月28日第二十五页,共三十五页,2022年,8月28日6.4.6超链接查询基于多个相关联数据表的查询。slect……from<表1>inner|left|right|fulljoin<表2>on<连接条件>where<筛选条件>1.在图书管理库中,查询借阅“大学英语”书的学生姓名、性别、借书日期。
Selectstudent.姓名,student.性别,borrow.借书日期
from
studentinnerjoinborrow
onstudent.学号=borrow.学号
whereborrow.书名=“大学英语”第二十六页,共三十五页,2022年,8月28日selezgda.编号,zgda.姓名,;(zgda.基本工资+zjgz.增资额)as
最终工资;fromzgdainnerjoinzjgz;onzgda.编号=zjgz.编号orderby3
2、在职工管理数据库中(包含zgda和zjgz),查询出职工最终发的工资是多少(=基本工资+增资额),并按最终工资从高到低输出编号、姓名、最终工资第二十七页,共三十五页,2022年,8月28日6.4.7统计查询SQL-SELECT命令不仅具备一般检索能力,同时支持对查询结果数据的统计:平均值:AVG()求和:SUM()计数:COUNT()最小值:MIN()最大值:MAX()以列为单位第二十八页,共三十五页,2022年,8月28日1.统计成绩表中数学成绩的最高成绩、外语的最低成绩和计算机的平均成绩。Selectmax(数学),min(外语);,avg(计算机)fromcj
Selectmax(数学)as
数学最高分,;min(外语)as外语最低分,;avg(计算机)as计算机平均分
fromcj第二十九页,共三十五页,2022年,8月28日2.统计student表中年龄最小的学生的生日Selectmax(出生日期)fromstudent3.查询籍贯为“山东”的人数:Selectcount(*)as山东人数fromstudent;where籍贯=“山东”4.查询学生来自几个不同的地区(籍贯):
selectcount(distinct籍贯)fromstudent第三十页,共三十五页,2022年,8月28日6.4.8分组查询1.统计student表中各班级的人数Sele班级,count(*)AS人数FROMstudent;Groupby班级2.统计男女生的最大年龄和最小年龄Select性别,max(年龄),min(年龄);Fromstudentgroupby性别第三十一页,共三十五页,2022年,8月28日例:依据student表中的数据,分别统计各种籍贯的人
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年潘彭茅艳离婚后同居合同
- 矿山工程监控劳务施工合同范本
- 市政路灯改造工程劳务合同
- 化妆品公司配电房安装合同
- 乳制品公司销售员招聘合同
- 学校就业合同考古学与博物馆学
- 高尔夫球场建设合同
- 道路桥梁养护全站仪租赁协议
- 编程教育机构导师聘用合同
- 港口国际合作服务合同
- 12S4消防工程标准图集
- TCGMA0330012018压缩空气站能效分级指南
- 第-71-讲-原子分数坐标和晶胞投影问题(课件)
- 7.1 集体生活成就我 课件-2024-2025学年统编版道德与法治七年级 上册
- 建设宜居宜业和美乡村
- 职业技能大赛-食品安全管理师竞赛理论知识题及答案
- 农村活动广场实施方案村文化小广场建设的实施方案
- 2024简易租房合同下载打印
- 统编版(2024)道德与法治七年级上册:第二单元《成长的时空》第4-7课教案(8课时)
- 2024-2030年中国船只燃料行业市场发展趋势与前景展望战略分析报告
- 2024年浙江高考技术试题(含答案)
评论
0/150
提交评论