单元5 5.3 记录的查询——多表查询-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)

2023-05-09
| 20页
| 100人阅读
| 1人下载
精品

内容正文:

MySQL数据库应用开发 单元5 记录的查询 任务5.3 MySQL数据查询——多表查询 多表查询 知识点小结 本节实验 任务5.3 MySQL数据查询——多表查询 能力目标 1.掌握多表查询(内连接、外连接)--重点 2.掌握子查询(in、any、all、exists关键字)--难点 思政目标 1.培养精益求精的工作作风; 2.锻炼团结协作的工作能力。 多表查询 什么是连接查询? 连接查询实际上是通过多个表之间的共同列的相关性来查询数据的,是数据库查询最主要的方式。连接查询就是关系运算的连接运算。 连接查询分为内连接查询、外连接查询。主要区别在于,内连接仅选出两张表中互相匹配的记录,而外连接会选出其他不匹配的记录。 内连接查询(常用的) 格式:FROM 表1 [inner] JION 表2 ON 条件表达式 4 内连接查询 例如: 从studentinfo数据库中查询学生的学号、姓名和所学课程的课程号、成绩。 select student.Sno,Sname,Cno,grade from student join sc on student.Sno=sc.Sno; 外连接查询 外连接可以查询两个或两个以上的表,外连接查询和内连接查询非常的相似,也需要通过指定字段进行连接,当该字段取值相等时,可以查询出该表的记录。而且,该字段取值不相等的记录也可以查询出来。 外连接查询分类: 1.左外连接:LEFT [OUTER] JOIN,显示左表的全部记录及右表符合连接条件的记录(以左为主) 2.右外连接:RIGHT [OUTER] JOIN,显示右表的全部记录以及左表符合条件的记录(以右为主) 基本语法如下: SELECT 字段表 FROM 表1 LEFT | RIGHT [ OUTER ] JOIN 表2 ON 表1.字段=表2.字段 6 左外连接(left join) 左外连接的结果集中包含左表(JOIN关键字左边的表)中所有的记录,然后左表按照连接条件与右表进行连接。如果右表中没有满足连接条件的记录,则结果集中右表中的相应行数据填充为NULL。 例:利用左连接方式 查询课程表和选修表 SELECT course.Cno, course.Cname,sc.Cno,sc.Sno FROM course left join sc on course.Cno=sc.Cno; 左外连接(left join) 例:利用左连接方式查询课程表和选修表 右外连接(right join) 右外连接的结果集中包含满足连接条件的所有数据和右表(JOIN关键字右边的表)中不满足条件的数据,左表中的相应行数据为NULL。 例:利用右连接方式查询课程表和选修表 SELECT course.Cno, course.Cname,sc.Cno,sc.Sno FROM course right join sc on course.Cno=sc.Cno limit 10; 右外连接(right join) 例:利用右连接方式查询课程表和选修表 子查询 什么是子查询? 子查询是将一个查询语句嵌套在另一个查询语句中。内层查询语句的查询结果,可以作为外层查询语句提供条件。执行时是从内层查询到外层查询。 引发子查询的情况: 1.使用[NOT]IN的子查询 2.使用比较运算符的子查询,=、>、 <、>=、 <=、 <>、 !=、 <=>; 3.使用[NOT]EXISTS的子查询。 带IN关键字的子查询 一个查询语句的条件可能落在另一个SELECT语句的查询结果中。这可以通过IN关键字来判断。 IN关键字可以判断某个字段的值是否在指定的集合中,如果字段的值在集合中,则满足查询条件,该记录将被查询出来;如果不在集合中,则不满足查询条件。 语法格式: [NOT] IN (元素1,元素2, 元素3, . . . ) 其中,NOT是可选参数,加上NOT表示不在集合内满足条件:字符型元素要加上单引号。 带IN关键字的子查询 例:查询选修过课程的student的记录。 SELECT * FROM student WHERE sno IN( SELECT sno FROM sc); 带EXISTS关键字的子查询 exists关键字表示存在,使用exists关键字时,内查询语句不返回查询的记录。而是返回一个真假值。 如果内层查询语句查询到满足条件的记录,就会返回一个真值true,否则返回false。 当返回true时,外查询进行查询,否则外查询不进行查询。 带EXISTS关键字的子查询 例:查询选修了110101课程的学生的学号和姓名 select Sno,Sname from student where exists(select * from sc where stude

资源预览图

单元5 5.3 记录的查询——多表查询-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)
1
单元5 5.3 记录的查询——多表查询-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)
2
单元5 5.3 记录的查询——多表查询-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)
3
单元5 5.3 记录的查询——多表查询-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)
4
单元5 5.3 记录的查询——多表查询-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)
5
单元5 5.3 记录的查询——多表查询-高二《MySQL数据库应用开发》同步精品课堂(电工版2023)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。