嵌套查询嵌套查询是将一个SELECT语句包含在另一个SELECT语句的WHERE子句中,也称为子查询
子查询(内层查询)的结果用作建立其父查询(外层查询)的条件,因此,子查询的结果必须有确定的值
利用嵌套查询可以将几个简单查询组成一个复杂查询,从而增强SQL的查询能力
查询“张三”选修的课程和成绩1
select 学号,课程,成绩 from [课程$] where 学号 = (select 学号 from [学生$] where 姓名 ="张三")求和项:成绩学号课程汇总物理95语文85本例采用联接查询“查询‘张三’选修的课程和成绩”地方法
下面将会讲到
select xs
[学号$],姓名,课程号,成绩 from [学生$] xs ,[课程$] kc where xs
学号求和项:成绩学号课程 汇总物理95语文85查询“张三”选修的语文课和成绩3
select 学号,课程,成绩 from [课程$] where 学号 = (select 学号 from [学生$] where 姓名 ="张三" and 课程="语文")求和项:成绩学号课程汇总101语文85查询所有考试学生的成绩4
select * FROM [课程$] where 成绩 not in (select distinct 学号 from [学生$])求和项:成绩学号课程汇总物理95语文85物理75化学92历史89外语90地理100物理60语文50数学0合并查询102104101101101103SQL,可以将两个SELECT语句的查询结果通过并运算(UNION)合并为一个查询结果
进行合并查询时,要求两个查询结果具有相同的字段个数,并且对应字段的数据类型也必须相同
依据学号查询语文和物理成绩
select 学号,成绩, 课程 from [课程$] where 课程= "语文" union