full join 同left join 的区别
时间: 2024-07-22 22:01:13 浏览: 57
SQL中JOIN的使用详解
full join 和 left join 都是在 SQL 中用于合并两个表的数据操作,但它们之间有关键的区别:
1. **left join (左连接)**:返回的是左表的所有记录以及右表匹配到的相关记录。如果右表中没有找到匹配的记录,则结果中右表对应的列将填充 NULL。简单来说,无论是否找到匹配,左侧数据总是完整显示。
示例:
```
SELECT * FROM table1 LEFT JOIN table2 ON table1.key = table2.key;
```
2. **full join (全连接或全部外连接)**:与 left join 类似,但它不仅包含左边表的所有记录,还包括右边表的所有记录。当两边都没有匹配时,结果会分别显示 NULL。这意味着左右两边的非匹配记录都会保留下来,并用 NULL 填充缺失值。
示例:
```
SELECT * FROM table1 FULL JOIN table2 ON table1.key = table2.key;
```
总结一下:
- left join 只显示左边表的完整行,如果右边找不到匹配就显示 NULL。
- full join 显示两边的完整行,包括所有未匹配的行,无匹配时用 NULL 表示。
阅读全文