目录
[SQL 关键字](#SQL 关键字)
[SQL CREATE TABLE 关键字](#SQL CREATE TABLE 关键字)
[CREATE TABLE](#CREATE TABLE)
[SQL CREATE PROCEDURE 关键字](#SQL CREATE PROCEDURE 关键字)
[CREATE PROCEDURE](#CREATE PROCEDURE)
[SQL CREATE UNIQUE INDEX 关键字](#SQL CREATE UNIQUE INDEX 关键字)
[CREATE UNIQUE INDEX](#CREATE UNIQUE INDEX)
[SQL CREATE VIEW 关键字](#SQL CREATE VIEW 关键字)
[CREATE VIEW](#CREATE VIEW)
[SQL DATABASE 关键字](#SQL DATABASE 关键字)
[CREATE DATABASE](#CREATE DATABASE)
[SQL DEFAULT 关键字](#SQL DEFAULT 关键字)
[创建表时的 SQL 默认值](#创建表时的 SQL 默认值)
[ALTER TABLE 上的 SQL 默认值](#ALTER TABLE 上的 SQL 默认值)
[SQL DELETE 关键字](#SQL DELETE 关键字)
[SQL DESC 关键字](#SQL DESC 关键字)
[SQL SELECT DISTINCT 关键字](#SQL SELECT DISTINCT 关键字)
[SELECT DISTINCT](#SELECT DISTINCT)
[SQL DROP 关键字](#SQL DROP 关键字)
[DROP COLUMN](#DROP COLUMN)
[删除一个 CHECK 约束](#删除一个 CHECK 约束)
[DROP TABLE](#DROP TABLE)
[TRUNCATE TABLE](#TRUNCATE TABLE)
[SQL EXEC 关键字](#SQL EXEC 关键字)
[SQL EXISTS 关键字](#SQL EXISTS 关键字)
[SQL FOREIGN KEY 关键字](#SQL FOREIGN KEY 关键字)
[FOREIGN KEY](#FOREIGN KEY)
[SQL FOREIGN KEY on CREATE TABLE](#SQL FOREIGN KEY on CREATE TABLE)
[SQL FOREIGN KEY on ALTER TABLE](#SQL FOREIGN KEY on ALTER TABLE)
[DROP a FOREIGN KEY Constraint](#DROP a FOREIGN KEY Constraint)
[SQL FROM 关键字](#SQL FROM 关键字)
[SQL FULL OUTER JOIN 关键字](#SQL FULL OUTER JOIN 关键字)
[FULL OUTER JOIN](#FULL OUTER JOIN)
[SQL GROUP BY 关键字](#SQL GROUP BY 关键字)
[GROUP BY](#GROUP BY)
[SQL HAVING 关键字](#SQL HAVING 关键字)
[SQL IN 关键字](#SQL IN 关键字)
[SQL INDEX 关键字](#SQL INDEX 关键字)
[CREATE INDEX](#CREATE INDEX)
[SQL INNER JOIN 关键字](#SQL INNER JOIN 关键字)
[INNER JOIN](#INNER JOIN)
SQL 关键字
关键字 | 描述 |
---|---|
ADD | 在现有表中添加一列 |
ADD CONSTRAINT | 在创建表后添加约束 |
ALTER | 添加、删除或修改表中的列,或更改表中列的数据类型 |
ALTER COLUMN | 更改表中列的数据类型 |
ALTER TABLE | 添加、删除或修改表中的列 |
ALL | 如果所有子查询值都满足条件,则返回true |
AND | 仅包含两个条件都为真的行 |
ANY | 如果任何子查询值满足条件,则返回true |
AS | 用别名重命名列或表 |
ASC | 对结果集进行升序排序 |
BACKUP DATABASE | 创建现有数据库的备份 |
BETWEEN | 选择给定范围内的值 |
CASE | 根据条件创建不同的输出 |
CHECK | 限制可以放在列中的值的约束 |
COLUMN | 更改列的数据类型或删除表中的列 |
CONSTRAINT | 添加或删除约束 |
CREATE | 创建数据库、索引、视图、表或过程 |
CREATE DATABASE | 创建一个新的 SQL 数据库 |
CREATE INDEX | 在表上创建索引(允许重复值) |
CREATE OR REPLACE VIEW | 更新视图 |
CREATE TABLE | 在数据库中创建一个新表 |
CREATE PROCEDURE | 创建一个存储过程 |
CREATE UNIQUE INDEX | 在表上创建唯一索引(无重复值) |
CREATE VIEW | 根据 SELECT 语句的结果集创建视图 |
DATABASE | 创建或删除 SQL 数据库 |
DEFAULT | 创建或删除 SQL 数据库 |
DELETE | 从表中删除行 |
DESC | 对结果集进行降序排序 |
DISTINCT | 只选择不同的(不同的)值 |
DROP | 删除列、约束、数据库、索引、表或视图 |
DROP COLUMN | 删除表中的一列 |
DROP CONSTRAINT | 删除 UNIQUE、PRIMARY KEY、FOREIGN KEY 或 CHECK 约束 |
DROP DATABASE | 删除现有的 SQL 数据库 |
DROP DEFAULT | 删除一个 DEFAULT 约束 |
DROP INDEX | 删除表中的索引 |
DROP TABLE | 删除数据库中的现有表 |
DROP VIEW | 删除视图 |
EXEC | 执行存储过程 |
EXISTS | 测试子查询中是否存在任何记录 |
FOREIGN KEY | 用于将两个表链接在一起的键的约束 |
FROM | 指定从哪个表中选择或删除数据 |
FULL OUTER JOIN | 当左表或右表匹配时返回所有行 |
GROUP BY | 对结果集进行分组(与聚合函数一起使用:COUNT、MAX、MIN、SUM、AVG) |
HAVING | 用聚合函数代替 WHERE |
IN | 允许您在 WHERE 子句中指定多个值 |
INDEX | 在表中创建或删除索引 |
INNER JOIN | 返回两个表中具有匹配值的行 |
INSERT INTO | 在表格中插入新行 |
INSERT INTO SELECT | 将数据从一个表复制到另一个表中 |
IS NULL | 空值测试 |
IS NOT NULL | 测试非空值 |
JOIN | 连接表格 |
LEFT JOIN | 返回左表中的所有行,以及右表中匹配的行 |
LIKE | 在列中搜索指定模式 |
LIMIT | 指定要在结果集中返回的记录数 |
NOT | 仅包含条件不成立的行 |
NOT NULL | 强制列不接受 NULL 值的约束 |
OR | 包括任一条件为真的行 |
ORDER BY | 按升序或降序对结果集进行排序 |
OUTER JOIN | 当左表或右表匹配时返回所有行 |
PRIMARY KEY | 唯一标识数据库表中每条记录的约束 |
PROCEDURE | 一个存储过程 |
RIGHT JOIN | 返回右表中的所有行,以及左表中匹配的行 |
ROWNUM | 指定要在结果集中返回的记录数 |
SELECT | 从数据库中选择数据 |
SELECT DISTINCT | 只选择不同的(不同的)值 |
SELECT INTO | 将数据从一个表复制到一个新表中 |
SELECT TOP | 指定要在结果集中返回的记录数 |
SET | 指定应该在表中更新哪些列和值 |
TABLE | 创建表,或添加、删除、修改表中的列,或删除表或表中的数据 |
TOP | 指定要在结果集中返回的记录数 |
TRUNCATE TABLE | 删除表内的数据,但不删除表本身 |
UNION | 组合两个或多个 SELECT 语句的结果集(仅不同的值) |
UNION ALL | 组合两个或多个 SELECT 语句的结果集(允许重复值) |
UNIQUE | 确保列中所有值唯一的约束 |
UPDATE | 更新表中的现有行 |
VALUES | 指定 INSERT INTO 语句的值 |
VIEW | 创建、更新或删除视图 |
WHERE | 过滤结果集以仅包含满足指定条件的记录 |
SQL CREATE TABLE 关键字
CREATE TABLE
CREATE TABLE 命令在数据库中创建一个新表。
以下 SQL 创建一个名为 "Persons" 的表,其中包含五列:PersonID、LastName、FirstName、Address 和 City:
【实例】
sql
CREATE TABLE Persons (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
使用另一个表创建表
以下 SQL 创建一个名为 "TestTables" 的新表(它是 "Customers" 表的两列的副本):
【实例】
sql
CREATE TABLE TestTable AS
SELECT customername, contactname
FROM customers;
SQL CREATE PROCEDURE 关键字
CREATE PROCEDURE
CREATE PROCEDURE命令用于创建存储过程。
存储过程是可以保存的准备好的 SQL 代码,因此代码可以反复重用。
以下 SQL 创建一个名为"SelectAllCustomers"的存储过程,该过程从"Customers"表中选择所有记录:
【实例】
sql
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;
执行上面的存储过程如下:
【实例】
sql
EXEC SelectAllCustomers;
SQL CREATE UNIQUE INDEX 关键字
CREATE UNIQUE INDEX
CREATE UNIQUE INDEX 命令在表上创建唯一索引(不允许重复值)
索引用于非常快速地从数据库中检索数据。 用户看不到索引,它们只是用来加速搜索/查询。
以下 SQL 在 "Persons" 表的 "PersonID" 列上创建一个名为 "uidx_pid" 的索引:
sql
CREATE UNIQUE INDEX uidx_pid
ON Persons (PersonID);
注: 创建索引的语法因数据库而异。 因此:检查在数据库中创建索引的语法。 使用索引更新表比不更新表需要更多时间(因为索引也需要更新)。 因此,仅在将经常搜索的列上创建索引。
SQL CREATE VIEW 关键字
CREATE VIEW
CREATE VIEW 命令创建一个视图。
视图是基于 SQL 语句结果集的虚拟表。
以下 SQL 创建一个视图,用于选择来自巴西的所有客户:
【实例】
sql
CREATE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName
FROM Customers
WHERE Country = "Brazil";
查询视图
我们可以这样查询上面的视图:
【实例】
sql
SELECT * FROM [Brazil Customers];
SQL DATABASE 关键字
CREATE DATABASE
CREATE DATABASE命令用来创建一个新的SQL数据库。
以下 SQL 创建一个名为 "testDB" 的数据库:
【实例】
sql
CREATE DATABASE testDB;
注: 在创建任何数据库之前,请确保您拥有管理员权限。 创建数据库后,您可以使用以下 SQL 命令在数据库列表中检查它:SHOW DATABASES;
删除数据库
DROP DATABASE命令用于删除已有的SQL数据库。
以下 SQL 删除了一个名为 "testDB" 的数据库:
【实例】
sql
DROP DATABASE testDB;
注:在删除数据库之前要小心。 删除数据库将导致数据库中存储的完整信息丢失!
SQL DEFAULT 关键字
DEFAULT
DEFAULT 约束为列提供默认值。
如果没有指定其他值,默认值将添加到所有新记录中。
创建表时的 SQL 默认值
以下 SQL 在创建 "Persons" 表时为 "City" 列设置一个 DEFAULT 值:
【My SQL / SQL Server / Oracle / MS Access】
sql
CREATE TABLE Persons (
City varchar(255) DEFAULT 'Sandnes'
);
DEFAULT 约束也可用于插入系统值,通过使用诸如 GETDATE() 之类的函数:
sql
CREATE TABLE Orders (
OrderDate date DEFAULT GETDATE()
);
ALTER TABLE 上的 SQL 默认值
要在已创建表时在 "City" 列上创建 DEFAULT 约束,请使用以下 SQL:
【MySQL】
sql
ALTER TABLE Persons
ALTER City SET DEFAULT 'Sandnes';
【SQL Server】
sql
ALTER TABLE Persons
ADD CONSTRAINT df_City
DEFAULT 'Sandnes' FOR City;
【MS Access】
sql
ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'Sandnes';
【Oracle】
sql
ALTER TABLE Persons
MODIFY City DEFAULT 'Sandnes';
删除默认约束
要删除 DEFAULT 约束,请使用以下 SQL:
【MySQL】
sql
ALTER TABLE Persons
ALTER City DROP DEFAULT;
【SQL Server / Oracle / MS Access】
sql
ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT;
SQL DELETE 关键字
DELETE
DELETE命令用于删除表中已有的记录。
以下 SQL 语句从"客户"表中删除客户"Alfreds Futterkiste":
【实例】
sql
DELETE FROM Customers WHERE CustomerName='Alfreds Futterkiste';
注:删除表中的记录时要小心! 请注意 DELETE 语句中的 WHERE 子句。 WHERE 子句指定应该删除哪些记录。 如果省略 WHERE 子句,表中的所有记录都会被删除!
可以在不删除表的情况下删除表中的所有行。 这意味着表结构、属性和索引将保持不变:
以下 SQL 语句删除 "Customers" 表中的所有行,但不删除该表。 这意味着表结构、属性和索引将保持不变:
【实例】
sql
DELETE FROM Customers;
SQL DESC 关键字
DESC
DESC命令用于对返回的数据进行降序排序。
以下 SQL 语句选择 "Customers" 表中的所有列,按 "CustomerName" 列降序排序:
【实例】
sql
SELECT * FROM Customers
ORDER BY CustomerName DESC;
SQL SELECT DISTINCT 关键字
SELECT DISTINCT
SELECT DISTINCT 命令仅返回结果集中不同(不同)的值。
以下 SQL 语句仅从"Customers"表的"Country"列中选择 DISTINCT 值:
【实例】
sql
SELECT DISTINCT Country FROM Customers;
SQL DROP 关键字
DROP COLUMN
DROP COLUMN 命令用于删除现有表中的列。
以下 SQL 从 "Customers" 表中删除 "ContactName" 列:
【实例】
sql
ALTER TABLE Customers
DROP COLUMN ContactName;
删除唯一约束
要删除 UNIQUE 约束,请使用以下 SQL:
【SQL Server / Oracle / MS Access】
sql
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;
【MySQL】
sql
ALTER TABLE Persons
DROP INDEX UC_Person;
删除主键约束
要删除 PRIMARY KEY 约束,请使用以下 SQL:
【SQL Server / Oracle / MS Access】
sql
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;
【MySQL】
sql
ALTER TABLE Persons
DROP PRIMARY KEY;
删除外键约束
要删除 FOREIGN KEY 约束,请使用以下 SQL:
【SQL Server / Oracle / MS Access】
sql
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;
【MySQL】
sql
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
删除一个 CHECK 约束
要删除 CHECK 约束,请使用以下 SQL:
【SQL Server / Oracle / MS Access】
sql
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
【MySQL】
sql
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;
删除默认值
DROP DEFAULT命令用于删除一个DEFAULT约束。
要删除 DEFAULT 约束,请使用以下 SQL:
【SQL Server / Oracle / MS Access】
sql
ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT;
【MySQL】
sql
ALTER TABLE Persons
ALTER City DROP DEFAULT;
删除索引
DROP INDEX命令用于删除表中的索引。
【MS Access】
sql
DROP INDEX index_name ON table_name;
【SQL Server】
sql
DROP INDEX table_name.index_name;
【DB2/Oracle】
sql
DROP INDEX index_name;
【MySQL】
sql
ALTER TABLE table_name
DROP INDEX index_name;
删除数据库
DROP DATABASE命令用于删除已有的SQL数据库。
以下 SQL 删除了一个名为 "testDB" 的数据库:
【实例】
sql
DROP DATABASE testDB;
注:在删除数据库之前要小心。 删除数据库将导致数据库中存储的完整信息丢失!
DROP TABLE
DROP TABLE 命令删除数据库中的一个表。
以下SQL删除表 "Shippers":
【实例】
sql
DROP TABLE Shippers;
注:在删除表之前要小心。 删除表会导致表中存储的所有信息丢失!
TRUNCATE TABLE
TRUNCATE TABLE 命令删除表内的数据,但不删除表本身。
以下 SQL 截断表 "Categories":
【实例】
sql
TRUNCATE TABLE Categories;
删除视图
DROP VIEW 命令删除视图。
以下 SQL 删除 "Brazil Customers" 视图:
【实例】
sql
DROP VIEW [Brazil Customers];
SQL EXEC 关键字
EXEC
EXEC命令用于执行存储过程。
以下 SQL 执行名为"SelectAllCustomers"的存储过程:
【实例】
sql
EXEC SelectAllCustomers;
SQL EXISTS 关键字
EXISTS
EXISTS 命令测试子查询中是否存在任何记录,如果子查询返回一条或多条记录,则返回 true。
以下 SQL 列出了产品价格低于 20 的供应商:
【实例】
sql
SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM Products WHERE SupplierId = Suppliers.supplierId AND Price < 20);
以下 SQL 列出了产品价格等于 22 的供应商:
【实例】
sql
SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM Products WHERE SupplierId = Suppliers.supplierId AND Price = 22);
SQL FOREIGN KEY 关键字
FOREIGN KEY
FOREIGN KEY 约束是用于将两个表链接在一起的键。
FOREIGN KEY 是一个表中的一个字段(或字段集合),它引用另一个表中的 PRIMARY KEY。
SQL FOREIGN KEY on CREATE TABLE
以下 SQL 在创建 "Orders" 表时在 "PersonID" 列上创建 FOREIGN KEY:
【MySQL】
sql
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
【SQL Server / Oracle / MS Access】
sql
CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
要允许命名 FOREIGN KEY 约束,并在多个列上定义 FOREIGN KEY 约束,请使用以下 SQL 语法:
【MySQL / SQL Server / Oracle / MS Access】
sql
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID)
);
SQL FOREIGN KEY on ALTER TABLE
要在 "Orders" 表已创建时在 "PersonID" 列上创建 FOREIGN KEY 约束,请使用以下 SQL:
【MySQL / SQL Server / Oracle / MS Access】
sql
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
要允许命名 FOREIGN KEY 约束,并在多个列上定义 FOREIGN KEY 约束,请使用以下 SQL 语法:
【MySQL / SQL Server / Oracle / MS Access】
sql
ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
DROP a FOREIGN KEY Constraint
要删除 FOREIGN KEY 约束,请使用以下 SQL:
【MySQL】
sql
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
【SQL Server / Oracle / MS Access】
sql
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;
SQL FROM 关键字
FROM
FROM 命令用于指定从哪个表中选择或删除数据。
以下 SQL 语句从"客户"表中选择"客户名称"和"城市"列:
【实例】
sql
SELECT CustomerName, City FROM Customers;
以下 SQL 语句从"客户"表中选择所有列:
【实例】
sql
SELECT * FROM Customers;
以下 SQL 语句从"客户"表中删除客户"Alfreds Futterkiste":
【实例】
sql
DELETE FROM Customers
WHERE CustomerName='Alfreds Futterkiste';
SQL FULL OUTER JOIN 关键字
FULL OUTER JOIN
FULL OUTER JOIN 命令在左表或右表中存在匹配时返回所有行。
以下 SQL 语句选择所有客户和所有订单:
sql
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
注: FULL OUTER JOIN
关键字返回左表(客户)中的所有行,以及右表中的所有行 表(订单)。 如果"客户"中有行与"订单"不匹配,或者"订单"中有行与"客户"不匹配,这些行也会被列出。
SQL GROUP BY 关键字
GROUP BY
GROUP BY 命令用于对结果集进行分组(与聚合函数一起使用:COUNT、MAX、MIN、SUM、AVG)。
下面的 SQL 列出了每个国家的客户数量:
【实例】
sql
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;
以下 SQL 列出了每个国家/地区的客户数量,从高到低排序:
【实例】
sql
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;
SQL HAVING 关键字
HAVING
HAVING 命令用于代替 WHERE 聚合函数。
以下 SQL 列出了每个国家/地区的客户数量。 仅包括拥有 5 个以上客户的国家/地区:
【实例】
sql
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;
以下 SQL 列出了每个国家/地区的客户数量,从高到低排序(仅包括客户超过 5 个的国家/地区):
【实例】
sql
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5
ORDER BY COUNT(CustomerID) DESC;
SQL IN 关键字
IN
IN 命令允许您在 WHERE 子句中指定多个值。
IN 运算符是多个 OR 条件的简写。
以下 SQL 选择位于"Germany"、"France"和"UK"的所有客户:
【实例】
sql
SELECT * FROM Customers
WHERE Country IN ('Germany', 'France', 'UK');
以下 SQL 选择所有不在"Germany"、"France"或"UK"的客户:
【实例】
sql
SELECT * FROM Customers
WHERE Country NOT IN ('Germany', 'France', 'UK');
以下 SQL 选择与供应商来自同一国家的所有客户:
【实例】
sql
SELECT * FROM Customers
WHERE Country IN (SELECT Country FROM Suppliers);
SQL INDEX 关键字
CREATE INDEX
CREATE INDEX 命令用于在表中创建索引(允许重复值)。
索引用于非常快速地从数据库中检索数据。 用户看不到索引,它们只是用来加速搜索/查询。
下面的 SQL 在 "Persons" 表的 "LastName" 列上创建一个名为 "idx_lastname" 的索引:
sql
CREATE INDEX idx_lastname
ON Persons (LastName);
如果您想为列组合创建索引,可以在括号内列出列名,用逗号分隔:
sql
CREATE INDEX idx_pname
ON Persons (LastName, FirstName);
注: 创建索引的语法因数据库而异。 因此:检查在数据库中创建索引的语法。使用索引更新表比不更新表需要更多时间(因为索引也需要更新)。 因此,仅在将经常搜索的列上创建索引。
删除索引
DROP INDEX命令用于删除表中的索引。
【MS Access】
sql
DROP INDEX index_name ON table_name;
【SQL Server】
sql
DROP INDEX table_name.index_name;
【DB2/Oracle】
sql
DROP INDEX index_name;
【MySQL】
sql
ALTER TABLE table_name
DROP INDEX index_name;
SQL INNER JOIN 关键字
INNER JOIN
INNER JOIN 命令返回两个表中具有匹配值的行。
以下 SQL 选择所有带有客户信息的订单:
【实例】
sql
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
注: 只要列之间存在匹配项,INNER JOIN 关键字就会从两个表中选择所有行。 如果"Orders"表中存在与"Customers"不匹配的记录,这些订单将不会显示!
以下 SQL 语句选择包含客户和发货人信息的所有订单:
【实例】
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);