时间:2021-07-01 10:21:17 帮助过:5人阅读
多表查询时,只要满足条件的数据
隐式内连接:看不到JOIN
关键字,条件使用WHERE
指定
SELECT * FROM 左表, 右表 WHERE 条件;
显式内连接:使用INNER JOIN ... ON
语句, 可以省略INNER
SELECT * FROM 左表 INNER JOIN 右表 ON 表连接条件 WHERE 查询条件;
四、外连接
左外连接
- 左外连接:使用`LEFT OUTER JOIN ... ON`,`OUTER`可以省略
```sql
SELECT * FROM 左表 LEFT OUTER JOIN 右表 ON 表连接条件 WHERE 查询条件;
右外连接
右外连接:使用`RIGHT OUTER JOIN ... ON`,`OUTER`可以省略 ```sql SELECT * FROM 左表 RIGHT OUTER JOIN 右表 ON 表连接条件 WHERE 查询条件; ```
五、子查询
什么是子查询
将一个查询结果作为另一个查询语句的一部分。
子查询的三种情况
子查询的结果是单行单列的时候
子查询结果是`单列`,在`WHERE`后面作为`条件`
`SELECT 查询字段 FROM 表 WHERE 字段=(子查询);`
子查询的结果是多行单列的时候
子查询结果是多行单列,结果集类似于一个数组,在`WHERE`后面作为`条件`,父查询使用`IN`运算符
```sql
SELECT 查询字段 FROM 表 WHERE 字段 IN (子查询);
```
子查询的结果是多行多列
子查询结果是`多列`,在`FROM`后面作为`表`
```sql
SELECT 查询字段 FROM (子查询) 表别名 WHERE 条件;
```
子查询作为表需要取别名,否则这张表没用名称无法访问表中的字段
MySql多表查询
标签:color ade 基础上 现象 ima data- rom 表连接 错误