SQLite 关键字

SQLite JOIN 关键字用于根据两个或多个表之间的公共列来组合两个或多个表的行。 SQLite 中有三种类型的 JOIN:

  • INNER JOIN:内连接有时称为简单连接。它根据两个表中的匹配行返回记录。
  • LEFT JOIN:左连接有时称为左外连接。它返回包含左表中的所有行和右表中的匹配行的记录。
  • CROSS JOIN :返回包含两个表中所有行的记录。它有时被称为 CARTESIAN JOIN,因为在没有 WHERE 条件的情况下,它的行为类似于 CARTESIAN Product,即结果集中的行数是两个表的行数的乘积。
SQLite 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