SQL查询命令

上传人:野鹰 文档编号:3175432 上传时间:2017-07-30 格式:PPT 页数:23 大小:219KB
返回 下载 相关 举报
SQL查询命令_第1页
第1页 / 共23页
SQL查询命令_第2页
第2页 / 共23页
SQL查询命令_第3页
第3页 / 共23页
SQL查询命令_第4页
第4页 / 共23页
SQL查询命令_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《SQL查询命令》由会员分享,可在线阅读,更多相关《SQL查询命令(23页珍藏版)》请在金锄头文库上搜索。

1、第14章 第4节,14.4 SQL查询命令,14.4.1 SQL Select语句14.4.2 在查询设计器中查看Select语句,第14章 第4节,14.4.1 SQL Select语句,1. 命令格式2. 简单查询3. 简单的联接查询4. 嵌套查询5. 两个特殊运算符6. 排序,7. 简单的计算查询8. 分组与计算查询9. 超联接查询10. 集合的并运算11. select中的几个特殊选项,第14章 第4节,1. SQL Select语句格式,Select all | distinct . as , . as from Force! Inner|LeftOuter|RighterOuter

2、|FullOuter Join ! On into|to file additive |to printerprompt |to screen preference noconsoleplainnowait where and and | or and |or Group By , having unionall order by asc|desc, asc|desc Top Percent,第14章 第4节,2. 简单查询,Select all | distinct . as , . as from ! Select子句中all表示选出的记录中可以包括重复记录,这是默认值;Distinct则

3、表示选出的记录中不包括重复记录。 . as :表达式可以是字段名,也可以是包含用户自定义函数和系统函数。是字段所在的表名,表示输出时使用的列标题。其中可用*代表所有的字段。 from子句用来指定查询的表及连接类型。对于数据库表可以用! 来指定,如果此表属于当前数据库则!可以省略不写。 简单查询应用举例 :,第14章 第4节,例1. 从student表中检索所有的总分值。 select 总分 from student例2. 检索student表中所有元组。 select * from student例3. 检索student表中总分多于300分的学号。 Select 学号 from studen

4、t where 总分300例4. 检索student表中总分多于300分且是团员的学号,姓名,总分。Select 学号,姓名,总分 from student where 总分300.and.团员,简单查询应用举例,第14章 第4节,联接查询是基于多个关系的查询。在此先给出一个简单的联接查询。例5. 从 student和score两表中找出总分大于等于300的学号,姓名,总分,大学英语。 select student.学号,姓名,总分,大学英语 from student,score where 总分=300 .and. student.学 号=score.学号,3. 简单的联接查询,第14章 第

5、4节,4. 嵌套查询,这也是一种基于多个关系的查询,这类查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。(in 相当于集合运算,not in 中的not两边不加园点) 例6. 查询大学英语=80的学生姓名。 Select 姓名 from student where 学号 in (select 学号 from score where 大学英语=80) 例7. 查询大学英语=80),第14章 第4节,5. 两个特殊运算符,SQL select中有几个特殊的运算符,betweenand和!=(不等于) 例8. 检索出总分在280到320范围内的学生信息。 select * from stu

6、dent where 总分 between 280 and 320 “总分 between 280 and 320”等价于“总分=280 and 总分=320” 例9. 从teacher表中检索出职称不为讲师的。 select * from teacher where 职称!=“讲师” 或select * from teacher where not(职称=“讲师”) not的应用范围很广,如not in,not between 。,第14章 第4节,6. 排序,使用SQL select可以将查询结果排序,排序短语是order by ,格式: order by ASC|DESC , ASC|D

7、ESC 例10. 按总分的升序检索出全部学生信息。 Select * from student order by 总分 desc 注意:order by 是对最终的查询结果排序,不可以在子查询中使用该短语。,第14章 第4节,7. 简单的计算查询,用于计算检索的函数有count(),sum(),avg(),max()和min()。 例11. 找出 student表中总记录数。 select count(*) from student 例12. 求出student表中总分之和。 select sum(总分) from student,第14章 第4节,8. 分组与计算查询,利用group by

8、子句可以进行分组计算查询。可以用having进一步限定分组条件。group by 短语格式:Group By , having 例13. 分组求男女同学的总分。 Select 性别,sum(总分) from student group by 性别 例14. 分组求男女同学的总分,每组至少有2个同学。 select 性别,sum(总分) from student group by 性别 having count(*)=2 Having子句总是跟在group by之后,不可以单独用。having子句和Where子句不矛盾,在查询中先用where子句限定元组,然后进行分组,最后再用having子句限

9、定分组。,第14章 第4节,9. 超联接查询,与联接运算相关的语法格式为:Select from Inner|LeftOuter |RightOuter | FullOuter Join ! On Where 其中:inter join等价于join,为普通联接,称为内联接。Left join 为左联接,即除满足联接条件的记录出现在查询结果中外,第一个表中不满足联接条件的记录也出现在查询结果中。,第14章 第4节,9. 超联接查询,right join 为右联接,即除满足联接条件的记录出现在查询结果中外,第二个表中不满足联接条件的记录也出现在查询结果中,但显示值为null。Full join

10、为全联接,即两表中的记录不管是否满足联接条件将都在目标表或查询结果中出现,第二个表中不满足联接条件的记录对应部分为null。On 指定联接条件。应用举例:,第14章 第4节,应用举例,例15. 查询student表的学号姓名总分,联接条件为student.学号=score.学号。Select student.学号,姓名,总分 from student join score on student.学号=score.学号等价于: inter join 和select student.学号,姓名,总分 from student,score where student.学号=score.学号,第14章

11、 第4节,例16. 左联接 select student.学号,姓名,总分 from student left join score on student.学号=score.学号例17. 右联接 select student.学号,姓名,总分 from student right join score on student.学号=score.学号例18. 全联接select student.学号,姓名,总分 from student full join score on student.学号=score.学号,第14章 第4节,10. 集合的并运算,SQL支持集合的并(union)运算,即可以

12、将两个语句的查询结果通过并运算合并成一个查询结果。 为了进行并运算,要求这样的两个查询结果具相同的字段个数,并且对应字段的值出自同一个值域,即具有相同的数据类型和取值范围。 例19. 在teacher表中查询职称既是教授又是副教授的信息。 select * from teacher where 职称=教授 union select * from teacher where 职称=副教授,第14章 第4节,11. select中的几个特殊选项,(1)显示部分结果 (2)Into与To子句 (3)Noconsole子句 用来禁止将输出结果送往屏幕。如果指定Into子句,则忽略它的设置。 (4)Pl

13、ain 子句 表示输出时省略字段名。 (5)Nowait子句 表示显示Browse窗口后程序继续往下执行。,第14章 第4节,(1)显示部分结果,Top Percent 用来指定选取记录条数。该子句必须和Order By 子句同时使用。 其中Top子句后如果只跟表示从符合条件的记录中按Order By指定的顺序选取条记录,取值范围为1-32767; Top子句后如跟 Percent时,将不再代表选取的记录条数,而是代表从符合条件的记录中按百分比选取,取值范围为0.01-99.99。例如 top 75 Percent子句就表示从符合条件的记录中选取75%条记录,如果该值含有小数部分,则系统自动对记录数取整。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号