🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# SQL FULL JOIN 关键字 ## SQL FULL JOIN 关键字 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。 ### FULL JOIN 关键字语法 ``` SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name ``` 注释:在某些数据库中, FULL JOIN 称为 FULL OUTER JOIN。 ## 原始的表 (用在例子中的): "Persons" 表: | Id_P | LastName | FirstName | Address | City | | --- | --- | --- | --- | --- | | 1 | Adams | John | Oxford Street | London | | 2 | Bush | George | Fifth Avenue | New York | | 3 | Carter | Thomas | Changan Street | Beijing | "Orders" 表: | Id_O | OrderNo | Id_P | | --- | --- | --- | | 1 | 77895 | 3 | | 2 | 44678 | 3 | | 3 | 22456 | 1 | | 4 | 24562 | 1 | | 5 | 34764 | 65 | ## 全连接(FULL JOIN)实例 现在,我们希望列出所有的人,以及他们的定单,以及所有的定单,以及定购它们的人。 您可以使用下面的 SELECT 语句: ``` SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName ``` 结果集: | LastName | FirstName | OrderNo | | --- | --- | --- | | Adams | John | 22456 | | Adams | John | 24562 | | Carter | Thomas | 77895 | | Carter | Thomas | 44678 | | Bush | George | | 34764 | FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 "Persons" 中的行在表 "Orders" 中没有匹配,或者如果 "Orders" 中的行在表 "Persons" 中没有匹配,这些行同样会列出。