m ysql多表联查语句
时间: 2024-11-27 13:13:36 浏览: 50
MySQL中的多表联查(也称为JOIN操作)是指从两个或多个相关的数据表中同时检索数据,并基于它们之间的关联键进行连接。常用的联查有以下几种:
1. INNER JOIN (内连接):返回两个表中匹配行的结果。如果某一行在一个表中存在但在另一个表中不存在,则不会出现在结果集中。
示例:
```sql
SELECT * FROM table1 INNER JOIN table2 ON table1.common_column = table2.common_column;
```
2. LEFT JOIN (左连接):返回左边所有行,以及右边匹配的行。如果右边表中没有匹配的行,会显示NULL值。
示例:
```sql
SELECT * FROM table1 LEFT JOIN table2 ON table1.common_column = table2.common_column;
```
3. RIGHT JOIN (右连接):与LEFT JOIN相反,返回右边所有行及左边匹配的行。若左边无匹配,NULL值会出现。
示例:
```sql
SELECT * FROM table1 RIGHT JOIN table2 ON table1.common_column = table2.common_column;
```
4. FULL OUTER JOIN (全外连接):返回两个表的所有行,如果没有匹配,则对应列的值为NULL。
示例:
```sql
SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.common_column = table2.common_column;
```
5. SELF JOIN(自连接):用于在一个表中引用自身,通常用于处理层级结构的数据。
示例:
```sql
SELECT a.column, b.column FROM table t1 AS a JOIN t1 AS b ON a.parent_id = b.id;
```
在编写联查时,记得明确指定关联字段和需要查询的列,以便获取所需结果。
阅读全文