MySQL-4
多表查询
查询语法
1 | SELECT |
示例:
1 | SELECT * FROM emp,department; |
这并不是我们想要的情况,我们需要淘汰那些有毛病的数据
多表查询的分类
内连接查询
1 | - 隐式内连接:使用`WHERE`来消除无用的数据 |
隐式
1 | SELECT |
显示
1 | SELECT * |
外连接查询
- 左外连接:左表所有数据及其交集
- 右外连接:右表所有数据及其连接
语法
1 | SELECT 字段列表 |
示例代码
1 | SELECT t1.*,t2.dep_name FROM emp t1 LEFT JOIN department t2 ON t1.dep_id=t2.id |
子查询
查询中嵌套查询
1 | SELECT MAX(salary) FROM emp; |
一条查询即可完成
1 | SELECT * |
子查询的不同情况
- 子查询结果是单行单列的
- 子查询可以作为条件,可以使用运算符计算
> < <= >= =
- 子查询可以作为条件,可以使用运算符计算
- 子查询的结果是多行单列的
- 子查询可以作为条件,可以使用运算符计算
IN
- 子查询可以作为条件,可以使用运算符计算
- 子查询的结果是多行多列的
- 放入
FROM
中
- 放入