- 2
- 0
- 约5千字
- 约 21页
- 2015-11-19 发布于广东
- 举报
第8章 子查询 本章目标 掌握子查询的使用 子查询返回单一值 子查询返回值列表 子查询的存在性测试EXISTS 掌握集合运算 并集(Union) 交集(Intersection) 减(Except) 子查询 问题:显示价格最高书籍的书号、书名和价格 解决方法: 查询出最高价格 select MAX(price) from BookInfo 以价格为条件查询出书号、书名和价格 select bookid,bookname,price from BookInfo where Price=(select MAX(price) from BookInfo) 子查询 子查询就是一个嵌套在 SELECT、INSERT、UPDATE 或 DELETE 语句或其他子查询中的查询, 子查询也称为内部查询,而包含子查询的语句也称为外部查询 子查询的SELECT 查询总是使用圆括号括起来。 基本语法: 返回单个值的子查询 当子查询返回单个值时,外部查询条件和子查询之间使用比较运算符(、=、、=、=、!=) 子查询返回单一值的方法: 聚合函数 DISTINCT 1,先求书籍的平均价格 SELECT AVG(price) FROM BookInfo 2,把该查询代入外部查询 返回单个值的子查询 查询书名为“JavaWeb开发技术详解”的出版社ID和出版年限 SELECT publisherID FROM BookInfo WHERE BookName =JavaWeb开发技术详解 SELECT YEAR(publishDate) FROM BookInfo WHERE BookName =JavaWeb开发技术详解 代码为: SELECT BookID,BookName,publishDate,PublisherID FROM BookInfo WHERE PublisherID =(SELECT publisherID FROM BookInfo WHERE BookName =JavaWeb开发技术详解) AND YEAR(PublishDate) = (SELECT YEAR(publishDate) FROM BookInfo WHERE BookName =JavaWeb开发技术详解 ) 返回值列表的子查询 子查询返回值列表即子查询返回的不是单个值,外部查询的检索条件WHERE和子查询之间使用以下运算符 返回值列表的子查询 【例8-3】查询有销售记录的人员信息 先求子查询,即在销售主表SalesMaster中查找销售人员ID SELECT UserID FROM SalesMaster 因为销售人员不止一个,所以外部查询和子查询之间使用IN SELECT * FROM UserInfo WHERE UserID IN (SELECT UserID FROM SalesMaster) 返回值列表的子查询 【例8-3】显示价格高于类别‘JAVA’的所有书籍的书号、书名、作者和价格。 分析: 先求出类别是“JAVA“的所有书籍的价格列表 SELECT Price,BookID,CategoryID FROM BookInfo WHERE CategoryID = (SELECT categoryid FROM Category WHERE CategoryName =JAVA) 外部查询和子查询之间应该使用ALL SELECT BookID ,BookName ,Author,Price FROM BookInfo WHERE Price ALL(SELECT Price FROM BookInfo WHERE CategoryID =(SELECT categoryid FROM Category WHERE CategoryName =JAVA) ) EXISTS存在性测试 相关子查询 在子查询中引用外部查询的列,即子查询的执行与外部查询有关 EXISTS存在性测试 EXISTS存在性测试 指定一个子查询,测试行是否存在,也就是对于外部查询的每一行,检查子查询是否是空集合,如不是空集合,主查询返回值,否则主查询没有返回值 该题目涉及销售细表SalesDetails和书籍表BookInfo,因为查询的是书籍信息,所以BookInfo表应该放在外部查询位置,销售细表SalesDetails应放在子查询位置 NOT Exists子查询 【例8-6】查询没有销售记录的用户信息,显示内容包括用户ID、用户名和入职月份。 分析: 该题目外部查询是用户UserInfo表,子查询是销售主表SalesMaster,由于查
您可能关注的文档
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 2.第二章 .SQL Server 2005概述.ppt
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 3.第三章 .数据库备份与恢复技术.PPT
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 4.第四章 .数据库转换与复制技术.ppt
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 5.第五章 .SQL Server 2005的安全性.ppt
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 6.第六章 .自动化管理任务.ppt
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 7.第七章 .数据库维持高可用性.ppt
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 8.第八章 .SQL Server 2005的分析服.ppt
- 新SQL Server 2005数据库实践教程——管理与维护篇 电子教案 钱哨 9.第九章 .SQL Server 2005 报表服务.ppt
- 新SQL Server 2005数据库实践教程——开发与设计篇 电子教案 钱哨 第1章 关系数据库标准语言SQL.ppt
- 新SQL Server 2005数据库实践教程——开发与设计篇 电子教案 钱哨 第3章 事务处理、并发控制及数据库优化.ppt
- (2026春新版)部编版八年级语文下册《第一单元》PPT课件.pptx
- 2018电力监控系统网络安全监测装置技术规范.docx
- 2022电力监控系统安全防护方案审核要点.docx
- 2014电力电缆光伏系统EN 50618欧标.docx
- (2026春新版)人教版二年级数学下册《第三单元 万以内数的认识》教案.docx
- (2026春新版)人教版二年级数学下册《第四单元 万以内的加法和减法》教案.docx
- (2026春新版)人教版二年级数学下册《综合与实践 时间在哪里》教案.docx
- (2026春新版)苏教版二年级数学下册《综合与实践 时间有多长》教案 .pdf
- (2026春新版)部编版三年级语文下册第3单元(教案).docx
- (2026春新版)部编版三年级语文下册第8单元(教案).docx
原创力文档

文档评论(0)