版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第第 六六 章章SELECT 数据查询数据查询数据库应用技术SQL Server 20052本章学习目标本章学习目标 n掌握掌握SELECT查询语句的结构及各子句的使用查询语句的结构及各子句的使用n掌握联接查询掌握联接查询n掌握带子查询的嵌套查询掌握带子查询的嵌套查询n了解联合查询了解联合查询数据库应用技术SQL Server 200536.1 SELECT 查询语句查询语句n所谓查询,就是对已经存在于数据库中的数据所谓查询,就是对已经存在于数据库中的数据按特定的组合、条件或次序进行检索。查询功按特定的组合、条件或次序进行检索。查询功能是数据库最基本也是最重要的功能。能是数据库最基本也是最重
2、要的功能。nSELECTSELECT语句从一个或者多个表或视图中检索记语句从一个或者多个表或视图中检索记录,使用查询编辑器输入一条录,使用查询编辑器输入一条SELECTSELECT语句,查语句,查询情况将在结果窗口中显示。询情况将在结果窗口中显示。 数据库应用技术SQL Server 20054查询语句基本格式查询语句基本格式SELECT | AS FROM WHERE GROUP BY HAVIING ORDER BY ASC或或DESC数据库应用技术SQL Server 20055说明:说明:nSELECTSELECT语句的含义是,根据语句的含义是,根据WHEREWHERE子句指定的子句指
3、定的条件,从条件,从FROMFROM子句后面的基本表或视图中找出子句后面的基本表或视图中找出满足条件的记录,再按照满足条件的记录,再按照SELECTSELECT子句指定的目子句指定的目标列表达式,选出这些记录相应的列形成结果标列表达式,选出这些记录相应的列形成结果集返回。其中,集返回。其中,SELECTSELECT子句和子句和FROMFROM子句是必选子句是必选的的,而,而WHEREWHERE子句、子句、GROUP BYGROUP BY子句、子句、HAVINGHAVING子子句以及句以及ORDER BYORDER BY子句都是可选的。子句都是可选的。数据库应用技术SQL Server 2005
4、6举例举例:SELECT SCode,SName,SAddress FROM Students WHERE SSEX = 0 ORDER BY SCode数据库应用技术SQL Server 200576.1.2 SELECT 子句子句nSELECT DISTINCT TOP n | | AS n用于描述结果集中的列用于描述结果集中的列, 列之间用逗号分隔列之间用逗号分隔.数据库应用技术SQL Server 200581. 投影表中的某些列投影表中的某些列SELECT SCode,SName,SAddress FROM StudentsSELECT SCode,SName,SAddress FR
5、OM StudentsWHERE sex=男男数据库应用技术SQL Server 200592. TOP子句限制返回的行数子句限制返回的行数nTOP n PERCENT例例6-2USE LibraryGOSELECT TOP 5 BID,Bname,AuthorFROM BookGO数据库应用技术SQL Server 200510使用使用PERCENT例例6-3USE LibraryGOSELECT TOP 20 PERCENT BID,Bname,AuthorFROM BookGO数据库应用技术SQL Server 2005113. 是否消除重复行是否消除重复行nALL|DISTINCT:
6、DISTINCT消除查询结果中的重消除查询结果中的重复行复行.例例6-4USE LibraryGOSELECT PubCompFROM BookGO数据库应用技术SQL Server 200512使用使用DISTINCT消除重复行消除重复行USE LibraryGOSELECT DISTINCT PubCompFROM BookGO注意注意: DISTINCT必须紧跟在必须紧跟在SELECT后。后。数据库应用技术SQL Server 2005134. 用通配符用通配符“*”查询表中所有列查询表中所有列【例【例6-5】SELECT * FROM Book数据库应用技术SQL Server 200
7、5145. 使用表达式计算列值使用表达式计算列值例例6-6SELECT BID,Bname,Author,PubComp,Price,Price*0.9 FROM Book数据库应用技术SQL Server 2005156. 自定义列标题自定义列标题例例6-8 SELECT BID,Bname,Author,PubComp,Price,Price*0.9 AS 折扣价折扣价 FROM Book数据库应用技术SQL Server 2005167. 使用列函数使用列函数(聚合函数聚合函数)函数名函数名语法格式语法格式功能说明功能说明AVGAVG(ALL|DISTINCT 列名列名) 计算一个数值列
8、的平均值计算一个数值列的平均值SUMSUM(ALL|DISTINCT 列名列名) 计算一个数值列的总和计算一个数值列的总和MAXMAX(ALL|DISTINCT 列名列名) 返回指定列中的最大值返回指定列中的最大值MINMIN(ALL|DISTINCT 列名列名) 返回指定列中的最小值返回指定列中的最小值COUNT COUNT(DISTINCT 列名列名|*)统计查询结果集中记录的个数统计查询结果集中记录的个数数据库应用技术SQL Server 200517COUNT(DISTINCT 列名列名|*)例例6-9SELECT COUNT(*) AS 册数册数 -统计满足条件的行数统计满足条件的行
9、数FROM BookWHERE PubComp=高等教育出版社高等教育出版社例例6-10SELECT COUNT(DISTINCT(PubComp) -统计不重复的出版社的个数统计不重复的出版社的个数AS 出版社个出版社个数数FROM Book数据库应用技术SQL Server 200518MAX,MIN,SUM,AVG函数的使用函数的使用例例6-11查询查询book表中图书的总册数表中图书的总册数,最高价最高价,最低价最低价,总价值总价值,折扣后总价值折扣后总价值,平均价平均价.SELECT COUNT(*) AS 总册数总册数,MAX(price) AS 最高价最高价,MIN(price)
10、 AS 最低价最低价,SUM(price) AS 总价值总价值,SUM(price*0.9) AS 折后总价值折后总价值,AVG(price) AS 平均价平均价FROM Book数据库应用技术SQL Server 2005196.1.3 FROM子句实现连接查询子句实现连接查询n格式格式: FROM 表表1,表表2 -详见详见6-2节节例例6-12USE 学生成绩管理学生成绩管理GOSELECT students.学号学号,姓名姓名,课程名称课程名称,成绩成绩FROM students,SC,courseWHERE students.学号学号=SC.学号学号 -连接条件连接条件 AND SC
11、.课程号课程号=course.课程号课程号 -连接条件连接条件GO数据库应用技术SQL Server 200520为基本表指定临时别名为基本表指定临时别名例例6-13USE 学生成绩管理学生成绩管理GOSELECT s.学号学号,姓名姓名,课程名称课程名称,成绩成绩FROM students AS s,SC,course AS cWHERE s.学号学号=SC.学号学号 AND SC.课程号课程号=c.课程号课程号GO数据库应用技术SQL Server 2005216.1.4 WHERE子句选择查询子句选择查询n格式格式: WHERE 查询条件查询条件n功能功能: 查询满足条件的数据行查询满足
12、条件的数据行. 数据库应用技术SQL Server 200522WHERE子句中的运算符子句中的运算符 运算符分类运算符分类运运 算算 符符意意 义义比较运算符比较运算符、=、=、=、!=、!、!20 AND 性别性别= 女女数据库应用技术SQL Server 2005263. 范围运算符范围运算符n格式格式:列名列名 NOT BETWEEN 开始值开始值 AND 结束值结束值n等价于等价于: (列名列名=开始值开始值 AND 列名列名 (SELECT AVG(定价定价) -子查询结果是单值子查询结果是单值 FROM Books )数据库应用技术SQL Server 200562如果子查询结果
13、包含多个值如果子查询结果包含多个值n格式格式: 列名列名 比较运算符比较运算符 ALL|SOME|ANY(子查询子查询)n【例【例6-43】在】在Borrow表中,查询读者编号最大的读表中,查询读者编号最大的读者借书情况。者借书情况。nSELECT * FROM Borrow WHERE RID=ALL -子查询结果是多值子查询结果是多值 (SELECT RID FROM Reader )数据库应用技术SQL Server 200563或或:nSELECT * FROM Borrow WHERE RID=ALL -子查询结果是单值子查询结果是单值,ALL可缺省可缺省 (SELECT MAX(R
14、ID) FROM Reader )数据库应用技术SQL Server 2005646.3.3 EXISTS (子查询子查询)n格式格式: EXISTS(子查询子查询)n功能功能: 当子查询结果不为空集时当子查询结果不为空集时,条件成立。条件成立。n【例【例6-45】从选课成绩数据库中,查询出选修了至少】从选课成绩数据库中,查询出选修了至少一门课(此学号在选课表中存在)的学生情况。一门课(此学号在选课表中存在)的学生情况。nSELECT * FROM students WHERE EXISTS (SELECT * FROM sc WHERE students.学号学号=sc.学号学号)数据库应用
15、技术SQL Server 2005656.3.4 子查询在其他语句中的使用子查询在其他语句中的使用n子查询还可以用于子查询还可以用于UPDATE和和DELETE语句中。语句中。n【例【例6-47】计算】计算reader表中已借数量表中已借数量”Lendnum”列的值。列的值。nUPDATE Reader SET Lendnum= (SELECT COUNT(*) FROM borrow WHERE ReturnDate IS NULL AND Reader.RID=Borrow.RID)数据库应用技术SQL Server 200566【补充例【补充例1】删除成绩表】删除成绩表(SC)中成绩最低
16、的记录。中成绩最低的记录。nDELETE FROM SC WHERE 成绩成绩=(SELECT min(成绩成绩) FROM SC)【补充例【补充例2】删除成绩表】删除成绩表(SC)中成绩最低的中成绩最低的3条记录。条记录。nDELETE FROM SC WHERE 成绩成绩 IN(SELECT TOP 3 成绩成绩 FROM SCORDER BY 成绩成绩 ASC)数据库应用技术SQL Server 2005676.4 联合查询联合查询n格式格式: SELECT_1 UNION ALL SELECT_2 n【例【例6-48】SELECT 书名书名FROM Books WHERE 出版社出版社
17、=科技科技UNIONSELECT 书名书名FROM Books WHERE 出版社出版社=高教高教 -并运算并运算,不包括重复行不包括重复行数据库应用技术SQL Server 200568联合查询结果排序联合查询结果排序 SELECT 编号编号,书名书名FROM Books WHERE 出版社出版社=科技科技UNION SELECT 编号编号,书名书名FROM Books WHERE 出版社出版社=高教高教 ORDER BY 编号编号 -按图书编号排序按图书编号排序 GO数据库应用技术SQL Server 200569作业作业:n一、选择题:一、选择题:1-6n二、填空题:二、填空题:1,3数
18、据库应用技术SQL Server 200570补充题补充题1. 在在select语句中使用语句中使用“*”表示表示_。A全部元组全部元组 B表表 C全部属性全部属性 D键键2在在SQL的的SELECT语句中用于实现关系的连接运算的语句中用于实现关系的连接运算的短语是短语是_。AFOR BJOIN CWHERE DCONDITION 1. C2. B数据库应用技术SQL Server 2005713使用使用SQL语句进行分组检索时,为了去掉不满足条件语句进行分组检索时,为了去掉不满足条件的分组,应当的分组,应当_。A使用使用WHERE子句子句 B在在GROUP BY后面使用:后面使用:HAVIN
19、G子句子句 C先使用先使用WHERE子句,再使用子句,再使用HAVING子句子句 D先使用先使用HAVING子句,再使用子句,再使用WHERE子句子句3. B数据库应用技术SQL Server 2005724. 表达式表达式price between 5 and 20的含义是的含义是_。Aprice5 and price20 Bprice5 and price5 and price90或或SELECT s.*FROM STUDENT sWHERE 学号学号 IN( SELECT 学号学号 FROM SC WHERE 课程号课程号=C01 AND 成绩成绩90)数据库应用技术SQL Server
20、 20058712、查询成绩最高的前、查询成绩最高的前3名学生的学号。名学生的学号。SELECT TOP 3 学号学号,成绩成绩 FROM SCORDER BY 成绩成绩 DESC补充习题答案补充习题答案数据库应用技术SQL Server 20058813、查询成绩最差的前、查询成绩最差的前10%学生的学号。学生的学号。SELECT TOP 10 PERCENT 学号学号,成绩成绩 FROM SCORDER BY 成绩成绩 ASC补充习题答案补充习题答案数据库应用技术SQL Server 20058914、查询选修了、查询选修了“C02”成绩最高的学生的学号、成绩最高的学生的学号、姓名、课程号、成绩。姓名、课程号、成绩。Select top 1 s.学号学号,姓名姓名,课程号课程号,成绩成绩From student s inner join SC on s.学号学号=SC.学号学号Wh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 赣州启明星眼科医院工作制度及职责汇编
- 电子支付平台安全支付技术升级与应用推广方案
- 车辆安全责任书14篇
- 熟人医患关系事迹分享
- 《喜看稻菽千重浪 记首届国家最高科技奖获得者袁隆平》袁隆平的农业科技成果的转化风险课件
- 特岗考试文综试题及答案
- 药品采购管理制度试题及答案
- 药品经营企业法律法规及 GSP 规范岗前培训试题及答案
- 药品生产质量管理规范试题及答案
- 铁路供电运维试题及答案
- 油田助剂车间管理办法
- 小学一年级下册生字笔顺组词造句阅读本
- 矿业项目进退场交接措施
- JG/T 3028-1995住宅厨房排烟道
- 小学语文六年级下册第一单元大单元作业设计
- T/CHES 59-2021组合式金属防洪挡板安装、验收及维护规范
- 宁夏砖瓦用粘土矿产地质勘查技术规程 DB64-T 1754-2020
- 青光眼的观察与护理
- 《跨境电子商务法律法规 》全套教学课件
- 电工实训项目二常用电工工具、仪表使用模块二 认识和使用常用电工仪表
- 残疾人证管理实施细则
评论
0/150
提交评论