- 25
- 0
- 约2.07千字
- 约 9页
- 2016-11-03 发布于湖北
- 举报
SQL单值与多值子查询的应用举例
什么是子查询 子查询是指一条SELECT语句作为另一条SQL语句的一部分,也就是说如果一个查询返回一个单值或一列值并嵌套在SELECT、INSERT、UPDATE或DELETE语句中,则称之为子查询,包含子查询的外层SELECT语句称为主查询或外层查询,内层的SELECT语句称为子查询或内部查询。 一个子查询还可以嵌套任意数量的子查询,但子查询必须用圆括号括起来。 子查询的分类 子查询分嵌套子查询和相关子查询两种: (1)嵌套子查询 嵌套子查询的执行不依赖于外层查询(主查询),其执行过程为:先执行子查询(只执行一次),其结果不显示,仅将子查询的一个单值或者一列多值作为外部查询的条件使用,然后执行外部查询并显示查询结果。 (2)相关子查询 相关子查询就是子查询的执行依赖于外部查询,子查询根据外查询提供的数据进行查询,再将结果返回给外部查询。 单值子查询的应用 单值子查询通过集合函数或者通过WHERE条件可以得到单个值,外部查询可以在条件表达式中使用该值进行比较运算。 select * from 成绩表 where 分数 (select avg(分数) from 成绩表 ) 就是单值子查询的例子。 训练: 查询“成绩表”中考试成绩等于最高分的成绩记录。 提示:1) max (分数) 可以获取最高分; 2) 等于最高分的成绩可能有多个并列。 多值嵌套子查询的应用 若子查询返回数据表的一列值,外查询可以使用列表包含运算符in或not in与返回的该列多值进行比较。 例:根据“成绩表”的记录,查询分数高于80分的学生姓名。 分析:学生姓名不在“成绩表”中 (1)数据准备 检查数据表中的数据或创建数据表并添加数据 select * from 学生表 Create table学生表 (学号 char(8),姓名 varchar(8)) Insert 学生表 values 张三) Insert 学生表 values 李四) Insert 学生表 values 王五) Insert 学生表 values 赵六) Insert 学生表 values 陈亮) Insert 学生表 values 张芳) 注:成绩表的数据准备见”SQL子查询简单应用” (2)“成绩表”中可以查询分数高于80分的学生的学号 select 学号 from 成绩表 where 分数80 (3)在学生表中可以查询(由于分数80 分别06209005) Select 姓名 from 学生表 where 学号= or 学号= or 学号= = select 姓名 from 学生表 where 学号 in06209003 (4)合并成复合语句 select 姓名 from 学生表 where 学号 in (select 学号 from 成绩表 where 分数80) (5)训练:显示所有姓张的学生的成绩记录。 嵌套子查询归纳 嵌套子查询的执行不依赖于外层查询,其执行过程为:先执行子查询(只执行一次),其结果不显示,仅将子查询的一个单值或者一列多值作为外部查询的条件使用,然后执行外部查询并显示查询结果。 嵌套子查询扩展 列表运算符ANY与包含运算符IN功能大致相同,IN可以独立进行相等(包含)比较,而ANY必须与比较运算符配合使用,但可以进行任何比较。 列表比较的条件表达式格式: 表达式 比较运算符 ANY (子查询的一列值) 表达式 比较运算符 ALL (子查询的一列值) 该条件将表达式与子查询返回的一整列值逐一比较: 只要有一个比较成立:ANY结果为TRUE(相当于或运算)。 只有全部比较都成立:ALL结果为TRUE(相当于与运算)。 在SQL-92标准中还可以使用SOME运算符与ANY 等效。 SELECT * FROM 学生表 WHERE 学号=ANY( SELECT 学号 FROM 成绩表 WHERE 分数80) 注意:其中 “=ANY”可用“in”代替;“ALL”可用“not in ”代替。 举例:根据“成绩表”的记录,查询“成绩表”中没有成绩记录的学生记录。 SELECT * FROM 学生表 WHERE 学号ALL( SELECT 学号 FROM 成绩表 ) 注意:其中 “ALL”可用“not in”代替。 SELECT * FROM 学生表 WHERE 学号 not in ( SELECT 学号 FROM 成绩表 ) 训练:在“成绩表”和“学
您可能关注的文档
- RNAi4.ppt
- RMI泵站.ppt
- rolling bearing.ppt
- S307AC-25沥青砼下面层试验段施工方案.doc
- RBP-视黄醇结合蛋白(Renew).ppt
- SAP_ERP培训_车间管理培训.ppt.ppt
- RCT肩关节镜.ppt
- SAT(巴朗词表Q).ppt
- SBR法资料.doc
- SAS过程及常用统计分析2.ppt
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
最近下载
- 贫困户专项贷款业务申请表.docx VIP
- 2025年AWS认证AWSDataSync与SnowballEdge结合的大规模数据迁移方案专题试卷及解析.pdf VIP
- 2025年演出经纪人通过组织小型沙龙、读剧会等人脉活动主动建圈专题试卷及解析.pdf VIP
- 2025年演出经纪人演出市场主体准入中的专业人员配备要求专题试卷及解析.pdf VIP
- 2025年金融风险管理师外汇储备管理与币种结构决策专题试卷及解析.pdf VIP
- 2025电信转正考试参考题库(含答案解析).docx VIP
- 《低空无人驾驶航空器起降场地安全通用要求》.pdf VIP
- 基于代谢组学的肥胖症个性化干预数字方案.pdf VIP
- 低空飞行气象安全通用要求.docx VIP
- 内镜中心应急预案.pdf VIP
原创力文档

文档评论(0)