第三章 SQL(3)数据查询-连接查询.ppt
《第三章 SQL(3)数据查询-连接查询.ppt》由会员分享,可在线阅读,更多相关《第三章 SQL(3)数据查询-连接查询.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章SQL(3)数据查询-连接查询2023年4月19日 2主要内容主要内容3.1 SQL概述概述3.2 学生学生-课程数据库课程数据库3.3 数据定义数据定义3.4 数据查询数据查询3.5 数据更新数据更新3.6 视图视图2023年4月19日 32023年4月19日 42023年4月19日 52023年4月19日 6广义笛卡尔积广义笛卡尔积SELECT *FROM student,sc笛卡尔积中的笛卡尔积中的数据都有现实数据都有现实意义吗?意义吗?2023年4月19日 7由笛卡尔积到由笛卡尔积到连接查询连接查询SELECT *FROM student,scWHERE student.sno=
2、sc.sno注意:连接查询相当于笛卡尔积上做选择注意:连接查询相当于笛卡尔积上做选择思考:元组数量思考:元组数量由什么决定?由什么决定?2023年4月19日 8一、等值与非等值连接查询一、等值与非等值连接查询 例例 查询学生成绩信息,包括学号,姓名,课程号,成绩。查询学生成绩信息,包括学号,姓名,课程号,成绩。SELECT student.sno,sname,cno,grade FROM student,scWHERE student.sno=sc.sno注意:选择查询结果希望出现的列,由于注意:选择查询结果希望出现的列,由于sno在两个表中都在两个表中都有,所以要指明来自哪个表,对于内连接任
3、意一个均可。有,所以要指明来自哪个表,对于内连接任意一个均可。2023年4月19日 9n关于连接查询条件:关于连接查询条件:连接查询中用来连接两个表的条件称为连接条件或连接谓词,连接查询中用来连接两个表的条件称为连接条件或连接谓词,其一般格式为:其一般格式为:.比较运算符主要有:比较运算符主要有:=、=、=、!=(或或)有效的连接查询条件:有效的连接查询条件:.和和 .是兼容类型是兼容类型有意义的连接查询条件:有意义的连接查询条件:.有意义有意义2023年4月19日 10SELECT student.sno,sname,cno,grade FROM student,scWHERE studen
4、t.sno=sc.snoSQL_92的写法:的写法:SELECT student.sno,sname,cno,grade FROM student inner join sc on student.sno=sc.sno连接查询的多种语法:连接查询的多种语法:2023年4月19日 11SELECT sno,o,cname,grade FROM course,scWHERE o=oSELECT sno,o,cname,grade FROM course inner join sc on o=o课堂练习课堂练习 :n查询学生成绩信息,包括学生的学号、课程号,课程查询学生成绩信息,包括学生的学号、课程
5、号,课程名,考试成绩。名,考试成绩。要求:分别用两种语法表达。要求:分别用两种语法表达。2023年4月19日 12注意:注意:索引对于连接查询的作用索引对于连接查询的作用自然连接自然连接2023年4月19日 13二、复合条件连接查询二、复合条件连接查询 例例 查询查询 CSCS系的学生的成绩信息,包括学号,姓名,课程系的学生的成绩信息,包括学号,姓名,课程号,成绩。号,成绩。SELECT student.sno,sname,cno,grade FROM student,scWHERE student.sno=sc.sno and sdept=CSSQL_92的写法:的写法:SELECT stu
6、dent.sno,sname,cno,grade FROM student inner join sc on student.sno=sc.snoWHERE sdept=CS2023年4月19日 14连接查询中给表名指定别名连接查询中给表名指定别名n查询查询 CSCS系的学生的成绩信息,包括学号,姓名,课程号,系的学生的成绩信息,包括学号,姓名,课程号,成绩。成绩。SQL_92的写法:的写法:SELECT student.sno,sname,cno,grade FROM student inner join sc on student.sno=sc.snoWHERE sdept=CS指定别名后
7、:指定别名后:SELECT S.sno,sname,cno,grade FROM student S inner join sc P on S.sno=P.snoWHERE sdept=CS2023年4月19日 15多表查询多表查询SELECT SELECT student.snostudent.sno,sname,sname,o,cname,grade,cname,grade FROM student FROM student inner joininner join sc on student.sno=sc.sno sc on student.sno=sc.sno inner joinin
8、ner join course on o=o course on o=o或者或者SELECT SELECT student.snostudent.sno,sname,sname,o,cname,grade,cname,grade FROM student,FROM student,sc,coursesc,courseWHERE student.sno=sc.sno and o=oWHERE student.sno=sc.sno and o=o查询选修了课程的学生的学号、姓名、课程号、课程名及查询选修了课程的学生的学号、姓名、课程号、课程名及考试成绩。考试成绩。2023年4月19日 16n查询查
9、询 CS系的选修了课程的学生的学号、姓名、课程号、课系的选修了课程的学生的学号、姓名、课程号、课程名及考试成绩。程名及考试成绩。SELECT student.sno,sname,o,cname,grade SELECT student.sno,sname,o,cname,grade FROM student inner join sc on student.sno=sc.sno FROM student inner join sc on student.sno=sc.sno inner join course on o=o inner join course on o=oWHERE sdept
10、=CSWHERE sdept=CS2023年4月19日 17三、自身连接查询三、自身连接查询查询出生日期比学号为查询出生日期比学号为s001的学生大的学生学号和姓的学生大的学生学号和姓名名:学号学号姓名姓名出生日期出生日期 S001S001王芳王芳1980-6-31980-6-3S002S002唐广书唐广书1981-9-221981-9-22S003S003李霞李霞1978-8-11978-8-1S004S004王忠强王忠强1979-9-51979-9-5S005S005李明李明1982-12-311982-12-31学生基本信息表学生基本信息表2023年4月19日 18SELECT M.学号
11、,学号,M.姓名姓名FROM 学生基本信息表学生基本信息表 M,学生基本信息表学生基本信息表 PWHERE M.出生日期出生日期P.出生日期出生日期 and p.学号学号=s001MP学号学号姓名姓名出生日期出生日期 S001S001王芳王芳1980-6-31980-6-3S002S002唐广书唐广书1981-9-221981-9-22S003S003李霞李霞1978-8-11978-8-1S004S004王忠强王忠强1979-9-51979-9-5S005S005李明李明1982-12-311982-12-31学号学号姓名姓名出生日期出生日期 S001S001王芳王芳1980-6-31980
12、-6-3S002S002唐广书唐广书1981-9-221981-9-22S003S003李霞李霞1978-8-11978-8-1S004S004王忠强王忠强1979-9-51979-9-5S005S005李明李明1982-12-311982-12-312023年4月19日 19Select M.学号,学号,M.姓名姓名From 学生基本信息表学生基本信息表 M,学生基本信息表学生基本信息表 PWhere M.出生日期出生日期P.出生日期出生日期 and p.学号学号=s001M筛选后的筛选后的P学号学号姓名姓名出生日期出生日期 S001S001王芳王芳1980-6-31980-6-3S002S
13、002唐广书唐广书1981-9-221981-9-22S003S003李霞李霞1978-8-11978-8-1S004S004王忠强王忠强1979-9-51979-9-5S005S005李明李明1982-12-311982-12-31学号学号姓名姓名出生日期出生日期 S001S001王芳王芳1980-6-31980-6-32023年4月19日 20 SELECT SELECT S1S1.Sno.Sno,S1S1.Sname.Sname,S1S1.Sdept.Sdept FROM Student FROM Student S1S1,Student Student S2S2 WHERE WHERE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三章 SQL3数据查询-连接查询 第三 SQL 数据 查询 连接
限制150内