mysql join语句
时间: 2024-07-09 11:01:23 浏览: 92
MySQL JOIN语句是用于合并两个或多个表中相关数据的关键SQL操作。JOIN关键字使得可以从这些表中根据某些共同列(键)提取并组合数据,即使这些表之间没有直接的关联。基本的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相反,返回右边表的所有行以及左边表匹配的行。
示例:
```sql
SELECT * FROM table1 RIGHT JOIN table2 ON table1.common_column = table2.common_column;
```
4. FULL OUTER JOIN (全外连接):结合了LEFT和RIGHT 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;
```
相关问题--:
1. MySQL JOIN有哪些主要类型?
2. INNER JOIN如何决定返回哪些行?
3. 左连接和全外连接的区别是什么?
阅读全文