多表查询
需要去除无用的数据,也就是dept_id不等于id的数据
内连接
隐式内连接
SELECT 字段名 FROM 左表, 右表 WHERE 条件;
显式内连接
SELECT 字段名 FROM 左表 [INNER] JOIN 右表 ON 条件;
外连接
左外连接
SELECT 字段名 FROM 左表 LEFT [OUTER] JOIN 右表 ON 条件
右外连接
SELECT 字段名 FROM 左表 RIGHT [OUTER ] JOIN 右表 ON 条件
子查询
- 一个查询的结果做为另一个查询的条件
- 有查询的嵌套,内部的查询称为子查询
- 子查询要使用括号
单行单列(一个值)
SELECT 查询字段 FROM 表 WHERE 字段=(子查询);
子查询结果:
查询结果:
单行多列
SELECT 查询字段 FROM 表 WHERE 字段 IN (子查询);
子查询结果:
查询结果:
多行多列
SELECT 查询字段 FROM (子查询) 表别名 WHERE 条件;
子查询结果:
查询结果: