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
     ❯   

SQL 教程

SQL 主页 SQL 简介 SQL 语法 SQL Select SQL Select Distinct SQL Where SQL Order By SQL And SQL Or SQL Not SQL Insert Into SQL 空值 SQL Update SQL Delete SQL Select Top SQL 聚合函数 SQL Min 和 Max SQL Count SQL Sum SQL Avg SQL Like SQL 通配符 SQL In SQL Between SQL 别名 SQL Joins SQL 内连接 SQL 左连接 SQL 右连接 SQL 全连接 SQL 自连接 SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Case SQL 空值函数 SQL 存储过程 SQL 注释 SQL 运算符

SQL 数据库

SQL 创建数据库 SQL 删除数据库 SQL 备份数据库 SQL 创建表 SQL 删除表 SQL 修改表 SQL 约束 SQL 非空 SQL 唯一 SQL 主键 SQL 外键 SQL 检查 SQL 默认值 SQL 索引 SQL 自动递增 SQL 日期 SQL 视图 SQL 注入 SQL 托管 SQL 数据类型

SQL 参考

SQL 关键字 MySQL 函数 SQL Server 函数 MS Access 函数 SQL 快速参考

SQL 示例

SQL 示例 SQL 编辑器 SQL 测验 SQL 练习 SQL Server SQL 集训营 SQL 证书

SQL JOIN 关键字


INNER JOIN

INNER JOIN 命令返回两个表中具有匹配值的那些行。

以下 SQL 语句选择所有包含客户信息的订单

示例

SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
自己尝试 »

注意: INNER JOIN 关键字选择来自两个表的所有的行,只要它们之间的列匹配。如果“订单”表中存在没有与“客户”表中记录匹配的记录,这些订单将不会显示!

以下 SQL 语句选择所有包含客户和发货人信息的订单

示例

SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);
自己尝试 »

LEFT JOIN

LEFT JOIN 命令返回左侧表的所有行,以及右侧表中与之匹配的行。如果不存在匹配项,则右侧返回 NULL。

以下 SQL 语句将选择所有客户及其可能下的所有订单

示例

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
自己尝试 »

注意: LEFT JOIN 关键字返回左侧表(客户)中的所有记录,即使右侧表(订单)中不存在匹配项。


RIGHT JOIN

RIGHT JOIN 命令返回右侧表的所有行,以及左侧表中与之匹配的记录。如果不存在匹配项,则左侧返回 NULL。

以下 SQL 语句将返回所有员工及其可能下的所有订单

示例

SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;
自己尝试 »

注意: RIGHT JOIN 关键字返回右侧表(员工)中的所有记录,即使左侧表(订单)中不存在匹配项。


FULL OUTER JOIN

FULL OUTER JOIN 命令返回左侧表或右侧表中存在匹配项的所有行。

以下 SQL 语句选择所有客户和所有订单

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

注意: FULL OUTER JOIN 关键字会返回左侧表(Customers)中的所有行,以及右侧表(Orders)中的所有行。如果 "Customers" 表中存在与 "Orders" 表中没有匹配的行,或者 "Orders" 表中存在与 "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.