SQL Server 关键字

SQL Server (Transact-SQL) JOIN 关键字用于根据两个或多个表之间的公共列来组合它们的行。 SQL中有四种类型的JOIN:

  • INNER JOIN: 有时称为简单 JOIN。它根据两个表中的匹配行返回记录。
  • LEFT JOIN: 有时称为 LEFT OUTER JOIN。它返回包含左表中的所有行和右表中的匹配行的记录。
  • RIGHT JOIN:有时称为 RIGHT OUTER JOIN。它返回包含右表中所有行和左表中匹配行的记录。
  • FULL JOIN:有时也称为 FULL OUTER JOIN。它返回包含两个表中所有行的记录。
SQL Server JOIN 关键字

示例:

考虑一个数据库,其中包含名为 Employee 和 Contact_Info 的表,并具有以下记录:

表1:Employee 表

EmpIDNameCityAgeSalary
1JohnLondon253000
2MarryNew York242750
3JoParis272800
4KimAmsterdam303100
5RameshNew Delhi283000
6HuangBeijing282800

表2:Contact_Info 表

Phone_NumberEmpIDAddressGender
+1-80540980002Brooklyn, New York, USAF
+33-1479961013Grenelle, Paris, FranceM
+31-2011503194Geuzenveld, Amsterdam, NetherlandsF
+86-10997324586Yizhuangzhen, Beijing, ChinaM
+65-672348247Yishun, SingaporeM
+81-3577990728Koto City, Tokyo, JapanM

JOIN 关键字与 Employee 和 Contact_Info一起使用基于公共列 EmpID 的表。它根据两个表中的匹配情况返回Name、Age 和Address 列。查询如下:

SELECT Employee.Name, Employee.Age, Contact_Info.Address 
FROM Employee
JOIN Contact_Info
ON Employee.EmpID = Contact_Info.EmpID; 

这将产生如下所示的结果:

NameAgeAddress
Marry24Brooklyn, New York, USA
Jo27Grenelle, Paris, France
Kim30Geuzenveld, Amsterdam, Netherlands
Huang28Yizhuangzhen, Beijing, China