什么是内连接(inner join)、外连接(left join)?
时间: 2023-04-05 10:01:49 浏览: 57
内连接(inner join)是指在两个表中,只有在两个表中都存在的记录才会被连接起来,其他的记录将被忽略。
外连接(left join)是指在两个表中,左表中的所有记录都会被保留,而右表中没有匹配的记录将会被填充为 NULL 值。
相关问题
LEFT JOIN 和 INNER JOIN 的区别是什么?
LEFT JOIN和INNER JOIN都是SQL中常用的JOIN操作,它们的主要区别在于对于右表中没有匹配到的记录的处理方式不同。
INNER JOIN会返回左右两个表中都有匹配的记录,而LEFT JOIN会返回左表中所有记录以及右表中匹配到的记录,对于右表中没有匹配到的记录则用NULL填充。
举例来说,如果有两个表A和B,A中有字段a1、a2,B中有字段b1、b2。现在需要根据a1和b1进行连接,如果使用INNER JOIN,则只返回两个表中a1和b1相同的记录,而如果使用LEFT JOIN,则会返回A表中所有记录以及与之匹配的B表中的记录,如果B表中没有与之匹配的记录,则b1和b2的值都为NULL。
Mysql数据库之左连接left join 右连接right join 内连接inner join
以下是Mysql数据库中左连接left join、右连接right join和内连接inner join的介绍和演示:
1. 左连接left join
左连接left join会返回左表中所有的记录,以及右表中符合条件的记录。如果右表中没有符合条件的记录,则返回NULL。
语法:
```
SELECT *
FROM a_table
LEFT JOIN b_table
ON a_table.key = b_table.key;
```
示例:
假设有两个表,一个是学生表students,一个是成绩表scores。学生表中有学生的ID和姓名,成绩表中有学生的ID和成绩。我们需要查询所有学生的姓名和成绩,如果学生没有成绩,则成绩为NULL。
```sql
SELECT students.name, scores.score
FROM students
LEFT JOIN scores
ON students.id = scores.id;
```
2. 右连接right join
右连接right join会返回右表中所有的记录,以及左表中符合条件的记录。如果左表中没有符合条件的记录,则返回NULL。
语法:
```
SELECT *
FROM a_table
RIGHT JOIN b_table
ON a_table.key = b_table.key;
```
示例:
假设有两个表,一个是学生表students,一个是成绩表scores。学生表中有学生的ID和姓名,成绩表中有学生的ID和成绩。我们需要查询所有成绩和对应的学生姓名,如果成绩表中没有对应的学生,则姓名为NULL。
```sql
SELECT students.name, scores.score
FROM students
RIGHT JOIN scores
ON students.id = scores.id;
```
3. 内连接inner join
内连接inner join会返回左右表中都符合条件的记录。
语法:
```
SELECT *
FROM a_table
INNER JOIN b_table
ON a_table.key = b_table.key;
```
示例:
假设有两个表,一个是学生表students,一个是成绩表scores。学生表中有学生的ID和姓名,成绩表中有学生的ID和成绩。我们需要查询所有有成绩的学生的姓名和成绩。
```sql
SELECT students.name, scores.score
FROM students
INNER JOIN scores
ON students.id = scores.id;
```
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)