《计算机二级查询精选文档.ppt》由会员分享,可在线阅读,更多相关《计算机二级查询精选文档.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机二级查询计算机二级查询本讲稿第一页,共七十二页姓名姓名班级班级王老师王老师09-1张老师张老师09-2李老师李老师09-3刘老师刘老师09-4姓名姓名班级班级性别性别成绩成绩张山张山09-1男男91李海李海09-2男男87刘梅刘梅09-4女女100Tom09-4男男65赵琳赵琳09-1女女90教师.dbf 学生.dbf本讲稿第二页,共七十二页姓名姓名班级班级王老师王老师09-1张老师张老师09-2李老师李老师09-3刘老师刘老师09-41.简单查询简单查询l例例1:请查询所有教师的姓名请查询所有教师的姓名本讲稿第三页,共七十二页1.简单查询简单查询l格式:格式:SELECT 列列 FRO
2、M 表表l例:例:SELECT 姓名姓名 FROM 教师教师姓名姓名王老师王老师张老师张老师李老师李老师刘老师刘老师本讲稿第四页,共七十二页1.简单查询简单查询l习题:习题:请查询所有学生的姓名请查询所有学生的姓名SELECT 姓名姓名 FROM 学生学生本讲稿第五页,共七十二页姓名姓名班级班级性别性别成绩成绩张山张山09-1男男91李海李海09-2男男87刘梅刘梅09-4女女100Tom09-4男男65赵琳赵琳09-1女女901.简单查询简单查询l例例2:请查询所有学生的班级和姓名请查询所有学生的班级和姓名本讲稿第六页,共七十二页1.简单查询简单查询 SELECT 班级班级,姓名姓名 FRO
3、M 学生学生班级班级姓名姓名09-1张山张山09-2李海李海09-4刘梅刘梅09-4Tom09-1赵琳赵琳本讲稿第七页,共七十二页1.简单查询简单查询l习题:习题:请查询所有学生的姓名和成绩请查询所有学生的姓名和成绩SELECT 姓名姓名,成绩成绩 FROM 学生学生本讲稿第八页,共七十二页姓名姓名班级班级性别性别成绩成绩张山张山09-1男男91李海李海09-2男男87刘梅刘梅09-4女女100Tom09-4男男65赵琳赵琳09-1女女901.简单查询简单查询l例例3:请查询所有学生的班级请查询所有学生的班级本讲稿第九页,共七十二页1.简单查询简单查询l例:例:SELECT 班级班级 FROM
4、 学生学生班级班级09-109-209-409-409-1本讲稿第十页,共七十二页1.简单查询简单查询l例:例:SELECT 班级班级 FROM 学生学生班级班级09-109-209-4SELECT DISTINCTDISTINCT 班级班级 FROM 学生学生去掉重复值去掉重复值本讲稿第十一页,共七十二页1.简单查询简单查询l习题:习题:假设学生表中有假设学生表中有“籍贯籍贯”这一列,请查这一列,请查询所有学生的籍贯有哪些。询所有学生的籍贯有哪些。SELECT DISTINCT 籍贯籍贯 FROM 学生学生本讲稿第十二页,共七十二页1.简单查询简单查询 所有列所有列l查询学生表中的所有列查询
5、学生表中的所有列lSELECT 姓名姓名,班级班级,性别性别,成绩成绩 FROM 学学生生lSELECT *FROM 学生学生本讲稿第十三页,共七十二页2.简单查询简单查询 带条件带条件l格式:格式:SELECT 列列 FROM 表表 WHERE 条件条件l例例1:SELECT 姓名姓名 FROM 学生学生 WHERE 成绩成绩90l例例2:SELECT 姓名姓名 FROM 学生学生 WHERE 性别性别=女女本讲稿第十四页,共七十二页1.简单查询简单查询l习题:习题:请查询成绩在请查询成绩在80至至90之间(不含端点)的学生之间(不含端点)的学生姓名和班级。姓名和班级。SELECT 姓名姓名
6、,班级班级 FROM 学生学生 WHERE 成绩成绩80 and 成绩成绩90 本讲稿第十五页,共七十二页1.简单查询简单查询l习题:习题:请查询成绩不在请查询成绩不在80至至90之间(不含端点)的之间(不含端点)的学生姓名和班级。学生姓名和班级。SELECT 姓名姓名,班级班级 FROM 学生学生 WHERE 成绩成绩90 本讲稿第十六页,共七十二页1.简单查询简单查询l找出找出“09-1”或或“09-2”班的同学的所有信息。班的同学的所有信息。lSELECT*FROM 学生学生 WHERE 班级班级=09-1 OR 班级班级=09-2本讲稿第十七页,共七十二页1.简单查询简单查询l找出成绩
7、大于找出成绩大于90分的男生的所有信息。分的男生的所有信息。lSELECT *FROM 学生学生 WHERE 成绩成绩90 AND 性别性别=男男本讲稿第十八页,共七十二页1.简单查询简单查询l找出成绩大于找出成绩大于90分的分的,并且是并且是“09-1”或或“09-2”班班的同学的所有信息。的同学的所有信息。lSELECT *FROM 学生学生;WHERE 成绩成绩90 AND (班级班级=09-1 OR 班级班级=09-2)本讲稿第十九页,共七十二页1.简单查询简单查询l教师表中有性别和职称字段,找出男教授和男副教师表中有性别和职称字段,找出男教授和男副教授的所有信息。教授的所有信息。lS
8、ELECT *FROM 教师教师;WHERE 性别性别=男男 AND ;(职称职称=教授教授 OR 职称职称=副教授副教授)本讲稿第二十页,共七十二页2.连接查询连接查询l查询所有学生的姓名,班级和他们老师的姓名查询所有学生的姓名,班级和他们老师的姓名lSELECT 姓名姓名,班级班级,姓名姓名 FROM 学生学生,教师教师 WHERE 学生学生.班级班级=教师教师.班级班级 lSELECT 学生学生.姓名姓名,学生学生.班级班级,教师教师.姓名姓名 FROM 学生学生,教师教师 WHERE 学生学生.班级班级=教师教师.班级班级从多个表中取出数据,从多个表中取出数据,表之间有公共字段作联结的
9、桥梁表之间有公共字段作联结的桥梁本讲稿第二十一页,共七十二页2.连接查询连接查询l找出教师的姓名和所找出教师的姓名和所担任课程名称。担任课程名称。本讲稿第二十二页,共七十二页2.连接查询连接查询l找出教师的姓名和任课名称。找出教师的姓名和任课名称。lSELECT 姓名姓名,课程名课程名 FROM 教师表教师表,课程表课程表 WHERE 教师表教师表.课程号课程号=课程表课程表.课程号课程号本讲稿第二十三页,共七十二页3.嵌套查询嵌套查询l找出籍贯是北京的学生的全部信息。找出籍贯是北京的学生的全部信息。lSELECT *FROM 学生学生 WHERE 籍贯籍贯=北京北京IN本讲稿第二十四页,共七
10、十二页3.嵌套查询嵌套查询l找出籍贯是北京、山东、湖北、广东的学生的找出籍贯是北京、山东、湖北、广东的学生的全部信息。全部信息。lSELECT *FROM 学生学生 WHERE 籍贯籍贯=北京北京 and 籍贯籍贯=山东山东 and 籍贯籍贯=湖北湖北 and 籍贯籍贯=广东广东lSELECT *FROM 学生学生 WHERE 籍贯籍贯=北京北京 or 籍贯籍贯=山东山东 or 籍贯籍贯=湖北湖北 or 籍籍贯贯=广东广东SELECT *FROM 学生学生 WHERE 籍贯籍贯 IN (北京北京,山东山东,湖北湖北,广东广东)WHERE 籍贯籍贯 IN (北京北京,山东山东,湖北湖北,广广东东
11、)本讲稿第二十五页,共七十二页3.嵌套查询嵌套查询l找出成绩是找出成绩是66、77、88、99的学生的全部信的学生的全部信息。息。lSELECT *FROM 学生学生 WHERE 成绩成绩 IN(66,77,88,99)本讲稿第二十六页,共七十二页4.Between andl找出成绩在找出成绩在60-90之间(包含端点)的学生的全之间(包含端点)的学生的全部信息。部信息。lSELECT *FROM 学生学生 WHERE 成绩成绩 between 60 and 90相当于:相当于:WHERE 成绩成绩=60 and 成绩成绩=60本讲稿第三十四页,共七十二页6.计算查询计算查询 总和函数总和函数
12、 sum l查询全体学生总成绩。查询全体学生总成绩。lSELECT sum(成绩成绩)FROM 学生学生本讲稿第三十五页,共七十二页6.计算查询计算查询 平均函数平均函数 avg l查询女学生成绩平均分。查询女学生成绩平均分。lSELECT avg(成绩成绩)FROM 学生学生Where 性别性别=女女本讲稿第三十六页,共七十二页6.计算查询计算查询 最大最小函数最大最小函数 max min l查询女学生成绩最高分。查询女学生成绩最高分。lSELECT max(成绩成绩)FROM 学生学生Where 性别性别=女女l查询成绩最低分。查询成绩最低分。lSELECT min(成绩成绩)FROM 学
13、生学生本讲稿第三十七页,共七十二页6.计算查询计算查询l查询成绩高于全班平均分的同学。查询成绩高于全班平均分的同学。lSELECT avg(成绩成绩)FROM 学生学生lSELECT *from 学生学生 where 成绩成绩 (select avg(成绩成绩)FROM 学生学生)本讲稿第三十八页,共七十二页6.计算查询计算查询l查询成绩最高分的同学信息。查询成绩最高分的同学信息。lSELECT max(成绩成绩)FROM 学生学生 lSELECT *from 学生学生 where 成绩成绩=(select max(成绩成绩)FROM 学生学生)lSELECT 姓名姓名,max(成绩成绩)FR
14、OM 学生学生本讲稿第三十九页,共七十二页7.分组查询分组查询 group byl查询各班平均成绩。查询各班平均成绩。lSELECT avg(成绩成绩)FROM 学生学生Group by 班级班级Avg_成绩8910093本讲稿第四十页,共七十二页7.分组查询分组查询 group byl查询各班平均成绩。查询各班平均成绩。lSELECT 班级班级,avg(成绩成绩)FROM 学生学生Group by 班级班级班级班级Avg_成绩成绩2011-1892011-21002011-393本讲稿第四十一页,共七十二页7.分组查询分组查询 group byl分别查询男女学生成绩最高分。分别查询男女学生成
15、绩最高分。lSELECT max(成绩成绩)FROM 学生学生Group by 性别性别Max_成绩10098本讲稿第四十二页,共七十二页7.分组查询分组查询 group byl分别查询男女学生成绩最高分。分别查询男女学生成绩最高分。lSELECT 性别性别,max(成绩成绩)FROM 学生学生Group by 性别性别性别性别Max_成绩成绩女女100男男98本讲稿第四十三页,共七十二页7.分组查询分组查询 group byl查询男女生最高分的同学姓名。查询男女生最高分的同学姓名。lSELECT 姓名姓名,max(成绩成绩)FROM 学生学生Group by 性别性别lSELECT 性别性别
16、,max(成绩成绩)FROM 学生学生Group by 性别性别本讲稿第四十四页,共七十二页7.分组查询分组查询 havingl查询各班人数。查询各班人数。lSELECT 班级班级,count(*)(*)FROM 学生学生Group by 班级班级班级班级cnt2011-1212011-292011-315本讲稿第四十五页,共七十二页7.分组查询分组查询 havingl查询人数大于查询人数大于10人的班级。人的班级。lSELECT 班级班级,count(*)(*)FROM 学生学生Group by 班级班级 having count(*)(*)10班级班级cnt2011-1212011-292
17、011-315本讲稿第四十六页,共七十二页7.分组查询分组查询 havingl查询各班最高分。查询各班最高分。lSELECT 班级班级,max(成绩成绩)FROM 学生学生Group by 班级班级l查询最高分大于查询最高分大于90的班级。的班级。lSELECT 班级班级,max(成绩成绩)FROM 学生学生Group by 班级班级 having max(成绩成绩)90本讲稿第四十七页,共七十二页7.空值查询空值查询 is nulll查询成绩未确定的同学。查询成绩未确定的同学。lSELECT *FROM 学生学生where 成绩成绩 is null=null 不行本讲稿第四十八页,共七十二页
18、7.空值查询空值查询 is nulll查询成绩已确定的同学。查询成绩已确定的同学。lSELECT *FROM 学生学生where 成绩成绩 is not null本讲稿第四十九页,共七十二页7.量词查询量词查询 all any somel查询成绩高于全体男生的同学信息。查询成绩高于全体男生的同学信息。lSELECT *FROM 学生学生 where 成绩成绩 (select max(成绩成绩)from 学生学生 where 性别性别=男男)lSELECT *FROM 学生学生 where 成绩成绩 all(select 成绩成绩 from 学生学生 where 性别性别=男男)本讲稿第五十页,
19、共七十二页7.量词查询量词查询 all any somel查询成绩高于任意一个男生的同学信息。查询成绩高于任意一个男生的同学信息。lSELECT *FROM 学生学生 where 成绩成绩 (select min(成绩成绩)from 学生学生 where 性别性别=男男)lSELECT *FROM 学生学生 where 成绩成绩 any(select 成绩成绩 from 学生学生 where 性别性别=男男)any=some本讲稿第五十一页,共七十二页8.超连接查询超连接查询相当于原来的多表查询。相当于原来的多表查询。lSELECT 姓名姓名,课程名课程名 FROM 教师表教师表,课程表课程表
20、 WHERE 教师表教师表.课程号课程号=课程表课程表.课程号课程号lSELECT 姓名姓名,课程名课程名 FROM 教师表教师表 join 课程表课程表 on 教师表教师表.课程号课程号=课程表课程表.课程号课程号本讲稿第五十二页,共七十二页8.超连接查询超连接查询 左连接左连接 left joinl查询所有学生的姓名,班级和他们老师的姓名查询所有学生的姓名,班级和他们老师的姓名lSELECT 教师教师.姓名姓名,学生学生.班级班级,学生学生.姓名姓名 FROM 教师教师 join 学生学生 on 教师教师.班级班级=学生学生.班级班级lSELECT 教师教师.姓名姓名,学生学生.班级班级,
21、学生学生.姓名姓名 FROM 教师教师 left join 学生学生 on 教师教师.班级班级=学生学生.班级班级本讲稿第五十三页,共七十二页A.姓名姓名班级班级B.姓名姓名王老师王老师09-1张山张山张老师张老师09-2李海李海刘老师刘老师09-4刘梅刘梅刘老师刘老师09-4Tom王老师王老师09-1赵琳赵琳李老师李老师09-3nullA.姓名姓名班级班级B.姓名姓名王老师王老师09-1张山张山张老师张老师09-2李海李海刘老师刘老师09-4刘梅刘梅刘老师刘老师09-4Tom王老师王老师09-1赵琳赵琳joinleft join本讲稿第五十四页,共七十二页8.超连接查询超连接查询 右连接右连
22、接 right joinl查询所有学生的姓名,班级和他们老师的姓名查询所有学生的姓名,班级和他们老师的姓名lSELECT教师教师.姓名姓名,教师教师.班级班级,学生学生.姓名姓名 FROM 教师教师 right join 学生学生 on 教师教师.班级班级=学生学生.班级班级本讲稿第五十五页,共七十二页姓名姓名班级班级王老师王老师09-1张老师张老师09-2李老师李老师09-3刘老师刘老师09-4姓名姓名班级班级性别性别成绩成绩张山张山09-1男男91李海李海09-2男男87刘梅刘梅09-4女女100Tom09-4男男65赵琳赵琳09-1女女90贾同学贾同学09-9男男77教师教师.dbf 学
23、生学生.dbf本讲稿第五十六页,共七十二页姓名姓名班级班级性别性别成绩成绩张山张山09-1男男91李海李海09-2男男87刘梅刘梅09-4女女100Tom09-4男男65赵琳赵琳09-1女女90贾同学贾同学09-9男男77教师教师.dbf 学生学生.dbf姓名姓名班级班级王老师王老师09-1张老师张老师09-2李老师李老师09-3刘老师刘老师09-4本讲稿第五十七页,共七十二页A.姓名姓名班级班级B.姓名姓名王老师王老师09-1张山张山张老师张老师09-2李海李海刘老师刘老师09-4刘梅刘梅刘老师刘老师09-4Tom王老师王老师09-1赵琳赵琳nullnull贾同学贾同学A.姓名姓名班级班级B
24、.姓名姓名王老师王老师09-1张山张山张老师张老师09-2李海李海刘老师刘老师09-4刘梅刘梅刘老师刘老师09-4Tom王老师王老师09-1赵琳赵琳joinright join本讲稿第五十八页,共七十二页8.超连接查询超连接查询 全连接全连接 full joinl查询所有学生的姓名,班级和他们老师的姓名查询所有学生的姓名,班级和他们老师的姓名lSELECT教师教师.姓名姓名,教师教师.班级班级,学生学生.姓名姓名 FROM 教师教师 full join 学生学生 on 教师教师.班级班级=学生学生.班级班级本讲稿第五十九页,共七十二页A.姓名姓名班级班级B.姓名姓名王老师王老师09-1张山张山
25、张老师张老师09-2李海李海刘老师刘老师09-4刘梅刘梅刘老师刘老师09-4Tom王老师王老师09-1赵琳赵琳李老师李老师09-3nullnullnull贾同学贾同学A.姓名姓名班级班级B.姓名姓名王老师王老师09-1张山张山张老师张老师09-2李海李海刘老师刘老师09-4刘梅刘梅刘老师刘老师09-4Tom王老师王老师09-1赵琳赵琳joinfull join本讲稿第六十页,共七十二页8.超连接查询超连接查询l习题:习题:l有两个表有关联,有两个表有关联,普通连接普通连接 90行,行,左连接左连接 93行,行,全连接全连接 100行,行,问:右连接?行本讲稿第六十一页,共七十二页8.超连接查询
26、超连接查询l普通连接普通连接 =内部连接内部连接 join =inner join 本讲稿第六十二页,共七十二页A.姓名姓名班级班级B.姓名姓名王老师王老师09-1张山张山张老师张老师09-2李海李海刘老师刘老师09-4刘梅刘梅刘老师刘老师09-4Tom王老师王老师09-1赵琳赵琳贾老师贾老师09-5nullnullnull贾同学贾同学A.姓名姓名班级班级B.姓名姓名王老师王老师09-1张山张山张老师张老师09-2李海李海刘老师刘老师09-4刘梅刘梅刘老师刘老师09-4Tom王老师王老师09-1赵琳赵琳joinfull join本讲稿第六十三页,共七十二页A.姓名姓名班级班级B.姓名姓名王老师
27、王老师09-1张山张山张老师张老师09-2李海李海刘老师刘老师09-4刘梅刘梅刘老师刘老师09-4Tom王老师王老师09-1赵琳赵琳本讲稿第六十四页,共七十二页8.超连接查询超连接查询l字段重命名字段重命名SELECT教师教师.姓名姓名,教师教师.班级班级,学生学生.姓名姓名 as 名名字字 FROM 教师教师 join 学生学生 on 教师教师.班级班级=学生学生.班级班级姓名姓名班级班级名字名字王老师王老师09-1张山张山张老师张老师09-2李海李海刘老师刘老师09-4刘梅刘梅刘老师刘老师09-4Tom王老师王老师09-1赵琳赵琳本讲稿第六十五页,共七十二页9.结果的并结果的并l将两个结果
28、合并成一个:将两个结果合并成一个:UNIONSELECT 姓名姓名 FROM 学生学生 WHERE 成绩成绩90SELECT 姓名姓名 FROM 学生学生 WHERE 性别性别=女女SELECT 姓名姓名 FROM 学生学生 WHERE 成绩成绩90;union;SELECT 姓名姓名 FROM 学生学生 WHERE 性别性别=女女union本讲稿第六十六页,共七十二页9.结果的并结果的并l注意:注意:l并是并集运算(并是并集运算()3+2 可能小于可能小于 5l两个集合的结构必须一两个集合的结构必须一致致UNION90女本讲稿第六十七页,共七十二页10.前几项前几项 top l查询成绩前三名
29、的同学查询成绩前三名的同学lSELECT *top 3 FROM 学生学生 order by 成绩成绩 desc本讲稿第六十八页,共七十二页10.前几项前几项 top l查询成绩最低的同学查询成绩最低的同学lSELECT *top 1 FROM 学生学生 order by 成绩成绩l并列第一的所有人会同时列出来并列第一的所有人会同时列出来本讲稿第六十九页,共七十二页11.查询去向查询去向 l查询结果存入数组查询结果存入数组lSELECT *FROM 学生学生 order by 成绩成绩into array ml结果一般是二维数组结果一般是二维数组本讲稿第七十页,共七十二页11.查询去向查询去向 l查询结果存入临时表查询结果存入临时表lSELECT *FROM 学生学生 order by 成绩成绩into cursor kl使用后自动消失使用后自动消失本讲稿第七十一页,共七十二页11.查询去向查询去向 l查询结果存入永久表查询结果存入永久表lSELECT *FROM 学生学生 order by 成绩成绩into table(dbf)k本讲稿第七十二页,共七十二页
限制150内