关联查询和子查询:
二、关联查询:

1、全连接:两个表作笛卡尔积


2、内连接:找到两个表中的关联数据


3、外连接:
左外连接:grade中12无学生,但是还是会显示出来(以左边的表为基准,找到左边表中所有的数据)
(left outer join和left join一样,一般写left join就行了)

右外连接:以右边的表为基准,找到右边表中所有的数据

例题1:
![]()
找的是学生,就以学生为基准
如果是左外连接,就把学生表放在左边;如果是右外连接,就把学生表放在右边



例题2:
![]()
将查询的两个结果进行union
union:重复的只出现一次
union all:重复不重复都展示


union:

union all:

- 子查询




例题:
1、查询全部一年级的学生信息
方法一:关联查询

方法二:子查询
子查询先运行,将查询的结果当成另一个查询的条件

推荐使用子查询,因为子查询查找的范围更小。关联查询是两个表的积中查找,子查询是和中查找

2、![]()
方法一:关联查询

方法二:子查询
select语句后加入子查询

![]()

子查询第三种情况:


![]()



















