### 多表查询
* 查询语句
select
列明列表
from
表明列表
where ...
笛卡尔积:
* 有两个集合A,B。去这两个集合所有组成情况
* 要完成多表查询,现需要消除无用的数据
多表查询的分类
1. 内连接查询:
* 隐式内连接:使用where条件消除无用数据
* 显示内连接:
语法:select 子段列表 from 表名1 [inner] join 表名2 on 条件;
* SELECT * FROM emp INNER JOIN dept ON emp.`dept_id` = dept.`id`;
* SELECT * FROM emp JOIN dept ON emp.`dept_id` = dept.`id`;
* 内连接查询:
1. 从那些表中查询数据
2. 条件是什么
3.查询哪些字段
2. 外连接查询:
1. 左外连接:
* 语法: select 字段列表 from 表1 left join 表2 on 条件;
* 查询的是左表所有数据以及其交集部分。
2. 右外连接:
* 语法: select 字段列表 from 表1 right join 表2 on 条件;
* 查询的是右表所有数据以及其交集部分。
3. 子查询:
概念:查询中嵌套查询,成嵌套查询为子查询;
子查询的不同情况
1.子查询的结果是单行单列的
* 子查询可以作为条件,使用运算符去去判断
2.子查询的结果是多行单列
3. 子查询的结果是多行多列