河南中医药大学:《MySQL数据库应用》课程讲稿课件_第三章 MySQL查询和视图——嵌套查询和集合查询

MySQL Workbench MySQL数据库应用 河南中医药大学信息技术学院王昂 2019.02
河南中医药大学信息技术学院 王昂 2019.02

MySQL ●000 第三章 MySQL查询和视图 主讲内容:SQL查询、视图 MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第2页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 2 页 第三章 MySQL查询和视图 主讲内容:SQL查询、视图

●000 教学内容 MySQL 1. MySQL数据库的单表查询 2. MySQL数据库的连接查询 3. MySQL数据库的嵌套查询 4. MySQL数据库的集合查询 5.管理MySQ视图 MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第3页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 3 页 教学内容 1. MySQL数据库的单表查询 2. MySQL数据库的连接查询 3. MySQL数据库的嵌套查询 4. MySQL数据库的集合查询 5. 管理MySQL视图

0。3. MySQL数据库的嵌套查询 MySQL SQL允许 SELECT多层嵌套使用,即一个子查询中还可 以嵌套子查询,用来表示复杂的查询,从而增强SQL 的查询能力。 ·以这种层层嵌套的方式来构造查询语句正是SQL中 结构化”的含义所在。 MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第4页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 4 页 3. MySQL数据库的嵌套查询 • SQL允许SELECT多层嵌套使用,即一个子查询中还可 以嵌套子查询,用来表示复杂的查询,从而增强SQL 的查询能力。 • 以这种层层嵌套的方式来构造查询语句正是SQL中“ 结构化”的含义所在

MySQL ●000 在 where-子句或 having子句所表示的条件中,可以使用另一个查询的 结果(即一个查询块:一个 SELECT-FROM- WHERE语句称为一个查 询块)作为条件的一部分,这种将一个查询块嵌套在另一个查询块的 Where子句或 having子句的条件中的查询称为嵌套查询。 例如: SELECT sname FROM Student 上层模块:父查询,外层查询 WHERE Sno in (SELECT sno FROM SC 下层模块:子查询,内层查询 WHERE Cno= 2) MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第5页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 5 页 • 在where子句或having子句所表示的条件中,可以使用另一个查询的 结果(即一个查询块:一个SELECT- FROM- WHERE 语句称为一个查 询块)作为条件的一部分,这种将一个查询块嵌套在另一个查询块的 where子句或having子句的条件中的查询称为嵌套查询。 • 例如: SELECT sname FROM Student 上层模块:父查询,外层查询 WHERE Sno in ( SELECT sno FROM sc 下层模块:子查询,内层查询 WHERE cno= ‘2’ ); ﹜ ﹜

0。3. MySQL数据库的嵌套查询 MySQL Sq语言允许有多层嵌套查询。即一个子查询中还允许嵌 套其他子查询。需要特别指出的是子查询的 select语句 中不能使用 order by子句, order by子句只能对最终 查询结果排序 子查询通常与IN、比较运算符及 EXISTS谓词结合使用 MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第6页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 6 页 3. MySQL数据库的嵌套查询 • Sql语言允许有多层嵌套查询。即一个子查询中还允许嵌 套其他子查询。需要特别指出的是子查询的select 语句 中不能使用order by 子句,order by子句只能对最终 查询结果排序。 • 子查询通常与IN 、比较运算符及EXISTS谓词结合使用

0。3. MySQL数据库的嵌套查询 MySQL 子查询时,需要注意以下几点 子查询需要使用括号()括起来; 子查询要放在比较操作符的右边; 当子查询的返回值是一个集合而不是一个值时,不能 使用单行操作符,而必须根据需要使用ANY、IN、AL 或 EXISTS等操作符 MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第7页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 7 页 • 子查询时,需要注意以下几点: – 子查询需要使用括号 ( ) 括起来; – 子查询要放在比较操作符的右边; – 当子查询的返回值是一个集合而不是一个值时,不能 使用单行操作符,而必须根据需要使用ANY、IN、ALL 或EXISTS等操作符。 3. MySQL数据库的嵌套查询

·031带有ln谓词的子查询 MySQL 在嵌套查询中,子查询的结果往往是一个集合,所以谓 词N是嵌套查询中最常用的谓词。 IN子查询用于进行一个给定值是否在子查询结果集中的 判断。 语法格式为:表达式[not]in(子查询) MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第8页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 8 页 3.1带有In谓词的子查询 • 在嵌套查询中,子查询的结果往往是一个集合,所以谓 词IN是嵌套查询中最常用的谓词。 • IN子查询用于进行一个给定值是否在子查询结果集中的 判断。 • 语法格式为:表达式 [not] in (子查询)

·031带有ln谓词的子查询 MySQL 案例:查找在ⅹscj擞据库中选修了课程号为206的课程的 学生的姓名、学号。 SELECT姓名学号 FROM XS Where学号in ( select学号 from xs kc where课程号=206″ MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第9页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 9 页 3.1带有In谓词的子查询 • 案例:查找在xscj数据库中选修了课程号为206的课程的 学生的姓名、学号。 SELECT 姓名,学号 FROM xs where 学号 in ( select 学号 from xs_kc where 课程号= ‘206’ );

MySQL ●000 案例:查询与“刘晨”在一个系学习的学生 select b FROM Student a student b WHERE a sname=刘晨 and a Sdept= b Sdept and b Sname<>刘晨 SELECT FROM Student WHERE Sdept IN (SELECT Sde pt FROM Student WHERE Sname=刘晨) and Sname<>刘晨 步骤:先找出刘晨对应的院系,再通过院系找其余学生 MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第10页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 10 页 案例:查询与“刘晨”在一个系学习的学生。 SELECT b.* FROM Student a,student b WHERE a.Sname=‘刘晨’ and a.Sdept= b.Sdept and b.Sname<>‘刘晨' SELECT * FROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE sname= ‘刘晨') and Sname<>‘刘晨' 步骤:先找出刘晨对应的院系,再通过院系找其余学生
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第三章 MySQL查询和视图——单表查询和多表查询.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第二章 MySQL数据库和表——管理数据表和表数据.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第二章 MySQL数据库和表——创建数据库和数据表.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第一章 MySQL初步——MySQL安装.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第一章 MySQL初步——数据库基础.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_09实验九:数据备份与数据恢复.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_08实验八:存储过程、存储函数和触发器.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_07实验七:常见的MySQL管理工具.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_06实验六:MySQL语言.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_05实验五:MySQL视图和数据完整性.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_04实验四:MySQL数据查询.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_03实验三:MySQL表数据管理.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_02实验二:MySQL数据库和数据表管理.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_01实验一:在Windows上安装MySQL.pdf
- 河南中医药大学:《MySQL数据库应用》课程设计报告(样例,个人通信数据分析).doc
- 普通高等学校计算机教育“十二五”规划教材:《MySQL数据库教程》必知必会+快速进阶+实战应用(视频指导版,第5章,图片版).pdf
- 普通高等学校计算机教育“十二五”规划教材:《MySQL数据库教程》必知必会+快速进阶+实战应用(视频指导版,第3-4章).pdf
- 普通高等学校计算机教育“十二五”规划教材:《MySQL数据库教程》必知必会+快速进阶+实战应用(视频指导版,第1-2章).pdf
- 河南中医药大学:《数据库规划与设计》课程教学资源(课件讲稿)第二章 PowerDesigner基础.pdf
- 河南中医药大学:《数据库规划与设计》课程教学资源(课件讲稿)第一章 第二节 数据库设计.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第三章 MySQL查询和视图——管理MySQL视图.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第四章 MySQL索引和完整性约束.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第五章 MySQL语言.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第六章 MySQL存储过程函数触发器事件(MySQL过程式数据库对象——存储过程、存储函数、触发器、事件)(1/2).ppt
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第六章 MySQL存储过程函数触发器事件(MySQL过程式数据库对象——存储过程、存储函数、触发器、事件)(2/2).pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第七章 MySQL数据库备份与恢复(一).pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第一章 MySQL初步——常用界面管理工具的使用.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第七章 MySQL数据库备份与恢复(二).pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第八章 MySQL用户权限维护.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验一 Microsoft SQL Server 2008的配置及管理.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验七 数据库安全性.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验三 使用SQL语句创建和管理数据库、数据表及表数据.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验九 数据库备份与恢复.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验二 界面方式下数据库、数据表及表数据的创建与管理.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验五 数据库综合查询.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验八 数据库完整性约束.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验六 数据更新.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验四 数据库简单查询.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程资源_实验教学大纲.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程资源_理论教学大纲.pdf