MariaDB 关键字

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

  • INNER JOIN: 有时称为简单 JOIN。它根据两个表中的匹配行返回记录。
  • LEFT JOIN: 有时称为左外连接。它返回包含左表中的所有行和右表中的匹配行的记录。
  • RIGHT JOIN :有时称为右外连接。它返回包含右表中所有行和左表中匹配行的记录。
  • CROSS JOIN :返回包含两个表中所有行的记录。它有时被称为 CARTESIAN JOIN,因为在没有 WHERE 条件的情况下,它的行为类似于 CARTESIAN Product,即结果集中的行数是两个表的行数的乘积。
MariaDB 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 关键字与基于公共列EmpID 的Employee 和Contact_Info 表一起使用。它根据两个表中的匹配情况返回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