MySQL 教程

浏览4147
更新时间2025-08-20

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.OrderDateFROM OrdersINNER 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
=;

相关视频

更多

免费

MySQLi面向过程极速入门
中级MySQLi面向过程极速入门

129783次学习

收藏

免费

MySQLi面向对象编程极速入门
中级MySQLi面向对象编程极速入门

71553次学习

收藏

免费

MySQL权威开发指南(教程)
初级MySQL权威开发指南(教程)

154749次学习

收藏

免费

MySQL高级进阶视频教程
高级MySQL高级进阶视频教程

131479次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时 | 62.5万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时 | 39.7万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时 | 73.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号