left join inner join的区别
时间: 2023-12-30 19:24:39 浏览: 77
SQL之left join、right join、inner join的区别浅析
left join和inner join是SQL中常用的连接操作,它们之间有以下区别:
1. INNER JOIN(内连接):只返回两个表中匹配的行,即只返回连接条件为真的行。如果一个表中的行没有匹配,那么这些行不会出现在结果中。
2. LEFT JOIN(左连接):返回左边表的所有行以及与右边表匹配的行。如果右边表中的行没有匹配,那么结果中将会用NULL值填充。
下面是一个示例来演示left join和inner join的区别:
假设我们有两个表:表A和表B。
表A的数据如下:
```
+--+--+
| ID | Name |
+--+--+
| 1 | John |
| 2 | Alice |
| 3 | Bob |
+--+--+
```
表B的数据如下:
```
+--+--+
| ID | Score |
+--+--+
| 1 | 90 |
| 3 | 80 |
| 4 | 70 |
+--+--+
```
使用INNER JOIN操作:
```sql
SELECT A.ID, A.Name, B.Score
FROM A
INNER JOIN B ON A.ID = B.ID;
```
结果:
```
+--+--+--+
| ID | Name | Score |
+--+--+--+
| 1 | John | 90 |
| 3 | Bob | 80 |
+--+--+--+
```
使用LEFT JOIN操作:
```sql
SELECT A.ID, A.Name, B.Score
FROM A
LEFT JOIN B ON A.ID = B.ID;
```
结果:
```
+--+--+--+
| ID | Name | Score |
+--+--+--+
| 1 | John | 90 |
| 2 | Alice | NULL |
| 3 | Bob | 80 |
+--+--+--+
```
阅读全文