子查询
把一个查询的结果在另一个查询中使用就叫做子查询
(将一个查询语句作为一个结果集供其他SQL语句使用)
独立子查询 子查询可以独立运行
相关子查询 子查询中引用了父查询的结果
in exists not in not exists
独立子查询
select *from TblStudent where tSClassId=(select tClassId from YblClass where tClassName='高二二班')
相关子查询
select * from TblStudent ad ts where exists (select * from TblClass as tc where ts.tsClassId=tc.tClassId and tc.tClassName='高二二班')
g
如果子查询是多行单列的子查询 这样的子查询的结果集其实是一个集合 可以使用in关键字代替=号
查询高一一班和高二一班的所有学生
select * from student where sClassId in (select cId from class where cName=‘高一一班’ or cName='高二一班')
所有的连接查询都能用子查询来做 所有的子查询都能使用相关子查询来写