MySQL 教程

MySQL 教程 MySQL 简介 MySQL 管理系统

MySQL SQL 语句

MySQL SQL MySQL SELECT MySQL WHERE MySQL AND, OR, NOT MySQL ORDER BY MySQL INSERT INTO MySQL NULL Values MySQL UPDATE MySQL DELETE MySQL LIMIT MySQL MIN 和 MAX MySQL COUNT, AVG, SUM MySQL LIKE MySQL 通配符 MySQL IN MySQL BETWEEN MySQL 别名 MySQL 联接 MySQL INNER JOIN MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN MySQL 自联接 MySQL UNION MySQL GROUP BY MySQL HAVING MySQL EXISTS MySQL ANY, ALL MySQL INSERT SELECT MySQL CASE MySQL Null 函数 MySQL 注释 MySQL 运算符

MySQL 数据库

MySQL 创建数据库 MySQL 删除数据库 MySQL 创建表 MySQL 删除表 MySQL 更改表 MySQL 约束 MySQL Not Null MySQL Unique MySQL Primary Key MySQL Foreign Key MySQL Check MySQL Default MySQL Create Index MySQL 自动增量 MySQL 日期 MySQL 视图

MySQL 参考手册

MySQL 数据类型 MySQL 函数

MySQL 实例

MySQL 实例 MySQL 测验 MySQL 练习


MySQL Joins 联接

MySQL 联接表

JOIN 子句用于根据它们之间的相关列组合来自两个或多个表的行。

让我们看一下"订单"表中的选择:

OrderID CustomerID OrderDate
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20

然后,查看"Customers"表中的选择:

CustomerID CustomerName ContactName Country
1 Alfreds Futterkiste Maria Anders Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Mexico
3 Antonio Moreno Taquería Antonio Moreno Mexico

请注意,"Orders"表中的"CustomerID"列指的是"Customers"表中的"CustomerID"。 上面两个表的关系就是"CustomerID"列。

然后,我们可以创建以下 SQL 语句(包含 INNER JOIN),用于选择两个表中具有匹配值的记录:

实例

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
亲自试一试 »

它会产生类似这样的结果:

OrderID CustomerName OrderDate
10308 Ana Trujillo Emparedados y helados 9/18/1996
10365 Antonio Moreno Taquería 11/27/1996
10383 Around the Horn 12/16/1996
10355 Around the Horn 11/15/1996
10278 Berglunds snabbköp 8/12/1996


MySQL 支持的联接类型

  • INNER JOIN:返回两个表中值匹配的记录
  • LEFT JOIN:返回左表所有记录,右表匹配记录
  • RIGHT JOIN:返回右表的所有记录,以及左表的匹配记录
  • CROSS JOIN:返回两个表中的所有记录

MySQL INNER JOIN  MySQL LEFT JOIN  MySQL RIGHT JOIN  MySQL CROSS JOIN


学习训练

测验:

JOIN 子句中插入缺失的部分,以连接 OrdersCustomers这两个表,使用两个表中的CustomerID字段作为两个表之间的关系。

SELECT *
FROM Orders
LEFT JOIN Customers
=
;

开始练习