SQL LEFT JOIN 关键字

LEFTJOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

LEFT JOIN 关键字语法

SELECT column_name(s)

FROM table_name1

LEFT JOIN table_name2

ON table_name1.column_name=table_name2.column_name

注释:在某些数据库中, LEFT JOIN 称为 LEFTOUTER JOIN


原始的表 (用在例子中的):

"Persons"表:

9. SQL -左连接,右连接,全连接,内连接,连接_关键字

左连接(LEFTJOIN)实例

现在,我们希望列出所有的人,以及他们的定购 - 如果有的话。

您可以使用下面的SELECT 语句:

SELECT Persons.LastName, Persons.FirstName,Orders.OrderNo

FROM Persons

LEFT JOIN Orders

ON Persons.Id_P=Orders.Id_P

ORDER BY Persons.LastName

9. SQL -左连接,右连接,全连接,内连接,连接_SQL_02

LEFTJOIN 关键字会从左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中没有匹配的行。


关键字

RIGHTJOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。

RIGHT JOIN 关键字语法

SELECT column_name(s)

FROM table_name1

RIGHT JOIN table_name2

ON table_name1.column_name=table_name2.column_name

注释:在某些数据库中, RIGHT JOIN 称为 RIGHTOUTER JOIN

原始的表 (用在例子中的):

"Persons"表:

9. SQL -左连接,右连接,全连接,内连接,连接_关键字

右连接(RIGHTJOIN)实例

现在,我们希望列出所有的定单,以及定购它们的人 - 如果有的话。

您可以使用下面的SELECT 语句:

SELECT Persons.LastName, Persons.FirstName,Orders.OrderNo

FROM Persons

RIGHT JOIN Orders

ON Persons.Id_P=Orders.Id_P

ORDER BY Persons.LastName

结果集:

9. SQL -左连接,右连接,全连接,内连接,连接_数据库_04


关键字

只要其中某个表存在匹配,FULLJOIN 关键字就会返回行。

FULL JOIN 关键字语法

SELECT column_name(s)

FROM table_name1

FULL JOIN table_name2

ON table_name1.column_name=table_name2.column_name

注释:在某些数据库中, FULL JOIN 称为 FULLOUTER JOIN

原始的表 (用在例子中的):

"Persons"表:

9. SQL -左连接,右连接,全连接,内连接,连接_关键字

全连接(FULLJOIN)实例

现在,我们希望列出所有的人,以及他们的定单,以及所有的定单,以及定购它们的人。

您可以使用下面的SELECT 语句:

SELECT Persons.LastName, Persons.FirstName,Orders.OrderNo

FROM Persons

FULL JOIN Orders

ON Persons.Id_P=Orders.Id_P

ORDER BY Persons.LastName

9. SQL -左连接,右连接,全连接,内连接,连接_数据库_06


关键字

在表中存在至少一个匹配时,INNERJOIN 关键字返回行。

INNER JOIN 关键字语法

SELECT column_name(s)

FROM table_name1

INNER JOIN table_name2

ON table_name1.column_name=table_name2.column_name

注释:INNERJOIN JOIN 是相同的。

原始的表 (用在例子中的):

"Persons"表:

9. SQL -左连接,右连接,全连接,内连接,连接_关键字

内连接(INNERJOIN)实例

现在,我们希望列出所有人的定购。

您可以使用下面的SELECT 语句:

SELECT Persons.LastName, Persons.FirstName,Orders.OrderNo

FROM Persons

INNER JOIN Orders

ON Persons.Id_P=Orders.Id_P

ORDER BY Persons.LastName

9. SQL -左连接,右连接,全连接,内连接,连接_数据库_08