Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

MySQL 教程

MySQL 主页 MySQL 简介 MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WHERE MySQL AND, OR, NOT MySQL ORDER BY MySQL INSERT INTO MySQL NULL 值 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 空值函数 MySQL 注释 MySQL 运算符

MySQL 数据库

MySQL 创建数据库 MySQL 删除数据库 MySQL 创建表格 MySQL 删除表格 MySQL 修改表格 MySQL 约束 MySQL 非空 MySQL 唯一 MySQL 主键 MySQL 外键 MySQL 检查 MySQL 默认值 MySQL 创建索引 MySQL 自动递增 MySQL 日期 MySQL 视图

MySQL 参考

MySQL 数据类型 MySQL 函数

MySQL 例子

MySQL 例子 MySQL 编辑器 MySQL 问答 MySQL 练习 MySQL 证书

MySQL 连接


MySQL 连接表格

一个 JOIN 语句用于根据两个或多个表格之间相关的列组合两个或多个表格中的行。

让我们看一下“订单”表格中的一个选择

订单编号 客户编号 订单日期
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20

然后,看一下“客户”表格中的一个选择

客户编号 客户名称 联系人名称 国家
1 Alfreds Futterkiste Maria Anders 德国
2 Ana Trujillo Emparedados y helados Ana Trujillo 墨西哥
3 Antonio Moreno Taquería Antonio Moreno 墨西哥

请注意,“订单”表格中的“客户编号”列引用了“客户”表格中的“客户编号”。上面两个表格之间的关系是“客户编号”列。

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

例子

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

它将产生类似以下内容的结果

订单编号 客户名称 订单日期
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
=
;

开始练习


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.