项目七 任务二 多表查询(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂

2025-01-21
| 28页
| 260人阅读
| 1人下载
精品

内容正文:

7.2 MySQL数据查询与更新 ---多表查询 数据库原理与应用技术--MySQL 同步精品课堂 河北科学技术出版社 教学目标 一 掌握连接查询的命令 教学目标 掌握连接查询的嵌套查询的应用 掌握嵌套查询中子查询的分类 掌握嵌套查询的命令 掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。 教学重难点 二 教学难点 1、连接查询 2、嵌套查询 教学重点 连接查询和嵌套查询的应用 教学难点 导入新课 三 讨论: 单表查询是从一张表中查询所需要的数据,若我们查询的数据需要从两张表中获取,我们应该如何操作? 任务一 1 连接查询 新知讲授 四 ⊙连接查询 连接查询由SELECT语句中FROM子句的JOIN关键字来实现 ➽ 连接查询概述 ➽ 连接查询语法格式 基本语法形式如下: SELECT 子句 FROM <表名1> [别名1] [INNER|LEFT|RIGHT|CROSS] JOIN<表名2>[ 别名2 ] ON <连接条件表达式> [WHERE <条件表达式>]; 新知讲授 四 ⊙连接查询 说明: 1、FROM子句后面可以跟多个数据的表名,表名与别名之间用空格分隔开,若不定义,则表的表名默认为别名; 2、若在SELECT子句中的输出列或条件表达式中出现两个表的公共字段,需要在公共字段前加上表名或表的别名加以区分; 3、连接条件是指连接查询中连接两个表的条件,连接条件格式一般如下: [<表名1>]<别名1.列名><比较运算符>[<表名2>]<别名2.列名> 4、JOIN是指各类连接操作的关键字,具体如下表 新知讲授 四 ⊙连接查询 连接类型 连接关键字 说明 内连接 INNER JOIN 内连接,INNER省略 左外连接 LEFT JOIN 外连接 右外连接 RIGHT JOIN 交叉连接 CROSS JOIN 交叉连接 新知讲授 四 ⊙连接查询 说明: (1)INNER JOIN:只返回符合连接条件的记录,不满足条件的记录不会被显示; (2)LEFT JOIN:除了满足连接条件的记录外,还包括左表中不满足条件的记录。当左表中不满足条件的记录与右表记录进行组合时,右表相应列的值为NULL。 (3)RIGHT JOIN:除了满足连接条件的记录外,还包括右表中不满足条件的记录。当右表中不满足条件的记录与左表记录进行组合时,左表相应列的值为NULL。 (4)CROSS JOIN:又称笛卡尔连接,是指两个表之间做笛卡尔积操作,得到的结果集的行数是两个表的行数的乘积。交叉连接一般没有意义。 新知讲授 四 ⊙连接查询 ➽ 内连接也可以采用以下命令格式 基本语法形式如下: SELECT 子句 FROM <表名1> [别名1] ,<表名2>[ 别名2 ] [,.....] [WHERE <连接条件表达式>[ AND <条件表达式>]; 新知讲授 四 ⊙连接查询 ➽ 实例1:查询借阅了图书的读者姓名。 MySQL语句如下: SELECT DISTINCT name FROM reader JOIN borrow ON reader.Rid=borrow.Readerid; 新知讲授 四 ⊙连接查询 ➽ 实例2:查询书号为”T023“的借阅信息,显示读者号、书号、书名、借书日期字段的内容。 MySQL语句如下: SELECT readerid,borrow.bookid,bookname,bordate FROM borrow INNER JOIN book ON borrow.bookid=book.bookid AND borrow.bookid='T023'; 任务二 1 嵌套查询 新知讲授 四 ⊙嵌套查询 ➽ 嵌套查询概述 嵌套查询又称为子查询或内部查询,它也是一个SELECT语句,它可以嵌套在一个SELECT语句的WHERE子句中。包含子查询的语句可称为父查询、主查询或外部查询。一般情况下嵌套查询亦可以用多表查询的方式查询。嵌套查询可以把一个复杂的查询分解成一系列的逻辑步骤,通过使用单个查询命令来解决复杂的查询问题。 ➽ 子查询的执行过程 子查询的执行过程可以描述为:首先执行子查询中的语句,并将返回的结果作为外层查询的过滤条件,然后再执行外层查询。在子查询中通常要使用比较运算符及IN、ANY和EXISTS等运算符。 新知讲授 四 ⊙嵌套查询 ➽ 子查询的分类 基本语法形式如下: <列名><比较运算符><子查询> (1)比较运算符子查询 说明: 当能确切知道子查询返回的是单值时,可用>、<、=、>=、<=、!=或<>等比较运算符。 新知讲授 四 ⊙嵌套查询 (2)IN子查询 基本语法形式如下: <列名> [NOT] IN (子查询) 说明: 通过IN(或NOT IN)引入的子查询结果是一个列值,而不是一个单一的值。 新知讲授 四 ⊙嵌套查询 ➽ 子查询的分类 基本语法形式如下: [NOT] EXISTS (子查询) (3)EXISTS子查询 EXISTS用于测试子查询的结果是否为空,若结果不为空则返回TRUE,否则返回FALSE。由于EXISTS子查询只返回逻辑值,因此由它引出的子查询中给出的列名列表没有实际意义,一般用星号(*)表示。 新知讲授 四 ⊙嵌套查询 基本语法形式如下: <列名><比较运算符>[ANY|ALL]<子查询> (4)ANY或ALL子查询 说明: 子查询返回单一值时,可以用比较运算符的子查询,但返回多个值时,可以用ANY或ALL子查询。ANY表示父查询与子查询结果中的某个值进行比较运算;ALL表示父查询与子查询结果中的所有值进行比较运算。 新知讲授 四 ⊙嵌套查询 ➽ 实例1:查询reader表中李昊天的借阅情况。 MySQL语句如下: SELECT * FROM borrow WHERE Readerid IN(SELECT Rid FROM reader WHERE name="李昊天"); 新知讲授 四 ⊙嵌套查询 ➽ 实例2:查询borrow表中已借阅图书的读者信息。 MySQL语句如下: SELECT * FROM reader WHERE Rid in (SELECT Readerid FROM borrow ); 师生互动 五 1、总结连接查询的命令。 2、总结嵌套查询的命令。 3、总结在实际应用中如何区分连接查询和嵌套查询。 讨论 随堂练习 六 1、 在MySQL中,连接可以用JOIN关键字,下列不属于连接的类型是( ) A.内连接 B. 外连接 C.左外连接 D.右外连接 【答案】B 【解析】连接的类型包括:内连接,左外连接,右外连接,交叉连接四种类型。 随堂练习 六 2、下列查询类型中,不属于SQL查询类型的是( ) A.单表查询 B.嵌套查询 C.连接查询 D.视图查询 【答案】D 【解析】视图查询不属于查询类型。 随堂练习 六 3、 关于嵌套语句,下列说法错误的是( ) A.嵌套查询又称为子查询或内部查询 B.嵌套查询是指一个SELECT子句嵌套在一个WHERE语句中 C.嵌套查询可以将一个复杂的查询分解成一系列的逻辑步骤 D.嵌套查询和连接查询完全等价 【答案】D 【解析】嵌套查询和连接查询在某些特定的情况下可以相互转换 随堂练习 六 4、 在嵌套查询中,子查询是指( ) A.子集的查询语言 B.嵌入到另一个查询语句之中的查询语句 C.选取单表中字段子集的查询语句 D.选取多表中字段子集的查询语句 【答案】B 【解析】子查询是指嵌入到另一个查询语句之中的查询语句。 随堂练习 六 5、 在SQL语句中,关键字___________用于实现表与表之间的连接操作。 【答案】JOIN 6、 在SQL语句的嵌套查询中,________用于表示父查询与子查询结果中的所有值进行比较。 【答案】ALL 课堂小结 七 谢谢 $$

资源预览图

项目七  任务二 多表查询(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂
1
项目七  任务二 多表查询(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂
2
项目七  任务二 多表查询(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂
3
项目七  任务二 多表查询(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂
4
项目七  任务二 多表查询(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂
5
项目七  任务二 多表查询(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。