mysq l两表连接
时间: 2024-10-19 16:17:12 浏览: 118
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** (右连接):与左连接相反,返回右表的所有记录以及左表匹配的记录。
```sql
SELECT * FROM table1 RIGHT JOIN table2 ON table1.common_column = table2.common_column;
```
4. **FULL OUTER JOIN** 或 **FULL JOIN**:返回两个表所有的记录,如果某一行在其中一个表中没有匹配,则对应列的值是NULL。
```sql
SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.common_column = table2.common_column;
```
5. **CROSS JOIN** (交叉连接):实际上是一种特殊的内连接,它不考虑两个表之间的关系,返回的是笛卡尔积,即所有可能的配对组合。
```sql
SELECT * FROM table1 CROSS JOIN table2;
```
在执行表连接操作时,记得明确指定连接条件(ON子句),这是关联数据的关键。
阅读全文