mysql多表查询 内外连接
时间: 2024-05-03 16:15:16 浏览: 152
mysql数据库设计为表连接设计索引
MySQL多表查询是指在一个查询语句中同时操作多个表,通过连接操作将这些表关联起来,以获取所需的数据。常见的连接方式包括内连接和外连接。
1. 内连接(INNER JOIN):内连接是通过匹配两个或多个表中的共有值来获取数据。只有在连接条件满足的情况下,才会返回匹配的行。内连接可以使用关键字INNER JOIN或简写为JOIN来表示。
示例:
```
SELECT *
FROM 表1
INNER JOIN 表2
ON 表1.列 = 表2.列;
```
2. 外连接(OUTER JOIN):外连接用于获取两个表中所有的数据,即使其中一个表没有匹配的行。外连接分为左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)和全外连接(FULL JOIN)。
- 左外连接(LEFT JOIN):返回左表中的所有行,以及右表中满足连接条件的行。如果右表中没有匹配的行,则返回NULL值。
示例:
```
SELECT *
FROM 表1
LEFT JOIN 表2
ON 表1.列 = 表2.列;
```
- 右外连接(RIGHT JOIN):返回右表中的所有行,以及左表中满足连接条件的行。如果左表中没有匹配的行,则返回NULL值。
示例:
```
SELECT *
FROM 表1
RIGHT JOIN 表2
ON 表1.列 = 表2.列;
```
- 全外连接(FULL JOIN):返回左表和右表中的所有行,如果某个表中没有匹配的行,则返回NULL值。
示例:
```
SELECT *
FROM 表1
FULL JOIN 表2
ON 表1.列 = 表2.列;
```
阅读全文