left和 outjoin
时间: 2023-10-21 19:29:45 浏览: 39
LEFT OUTER JOIN和INNER JOIN是关系型数据库中常用的两种表连接操作。
INNER JOIN是连接两个表中共有的行,即只返回两个表中满足连接条件的行。它可以通过使用JOIN关键字表示,也可以简单地省略JOIN关键字而直接使用逗号分隔要连接的表。
LEFT OUTER JOIN是将左边的表的所有行与右边的表进行连接,并且会返回左表的所有行,无论是否满足连接条件。如果右表中没有匹配的行,则返回NULL值。
举个例子来说明:
假设我们有两个表A和B,它们的结构如下:
表A:
id | name
-----------
1 | Alice
2 | Bob
3 | Charlie
表B:
id | age
---------
1 | 25
3 | 30
如果我们使用INNER JOIN来连接这两个表:
SELECT A.name, B.age
FROM A
INNER JOIN B ON A.id = B.id;
结果将是:
name | age
---------------
Alice | 25
Charlie | 30
使用LEFT OUTER JOIN来连接这两个表:
SELECT A.name, B.age
FROM A
LEFT OUTER JOIN B ON A.id = B.id;
结果将是:
name | age
---------------
Alice | 25
Bob | NULL
Charlie | 30
可以看到,在LEFT OUTER JOIN中,尽管B表中没有和Bob对应的行,但Bob的名字仍然出现在结果中,并且age列返回了NULL值。