full join 和inner join区别?
时间: 2023-12-14 18:34:40 浏览: 75
inner join、 left join 、right join、 outer join之间的区别
Full Join和Inner Join是SQL中两种不同的连接方式,它们的区别如下:
1. Inner Join:内连接,也称为等值连接,是指通过两个表之间的相同字段将两个表连接起来,只返回两个表中都存在的记录。如果一个表中的记录在另一个表中没有匹配的记录,则不会返回该记录。
2. Full Join:全连接,也称为外连接,是指将两个表中的所有记录都连接起来,不管是否存在匹配的记录。如果一个表中的记录在另一个表中没有匹配的记录,则会返回NULL值。
下面是一个Full Join和Inner Join的例子:
假设我们有两个表A和B,它们的结构如下:
```sql
Table A:
id name
1 Tom
2 Jack
3 Lucy
Table B:
id age
2 20
3 25
4 30
```
1. Inner Join:
```sql
SELECT A.id, A.name, B.age
FROM A
INNER JOIN B
ON A.id = B.id;
```
执行结果为:
```sql
id name age
2 Jack 20
3 Lucy 25
```
2. Full Join:
```sql
SELECT A.id, A.name, B.age
FROM A
FULL JOIN B
ON A.id = B.id;
```
执行结果为:
```sql
id name age
1 Tom NULL
2 Jack 20
3 Lucy 25
4 NULL 30
```
阅读全文