1.获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表)
SELECT LastName,FirstName FROM Persons
2.从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句
SELECT DISTINCT Company FROM Orders
3.希望选取居住在城市 "Beijing" 中的人,我们需要向 SELECT 语句添加 WHERE 子句
SELECT * FROM Persons WHERE City='Beijing'
4.使用 AND 来显示所有姓为 "Carter" 并且名为 "Thomas" 的人
SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'
使用 OR 来显示所有姓为 "Carter" 或者名为 "Thomas" 的人
SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'
6.以字母顺序显示公司名称:
SELECT Company, OrderNumber FROM Orders ORDER BY Company
以逆字母顺序显示公司名称
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
7.往persons表中插入一行
INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
8.为 lastname 是 "Wilson" 的人添加 firstname
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
9.删除名字为"Fred Wilson" 的记录
DELETE FROM Person WHERE LastName = 'Wilson'
10.从上面的 "Persons" 表中选取头两条记录
SELECT TOP 2 * FROM Persons
从上面的 "Persons" 表中选取 50% 的记录
SELECT TOP 50 PERCENT * FROM Persons
11.从上面的 "Persons" 表中选取居住在以 "N" 开始的城市里的人
SELECT * FROM Persons WHERE City LIKE 'N%'
12.从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人
SELECT * FROM Persons WHERE FirstName LIKE '_eorge'
13.从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人
SELECT * FROM Persons WHERE City LIKE '[ALN]%'
14.从上表中选取姓氏为 Adams 和 Carter 的人
SELECT * FROM Persons WHERE LastName IN ('Adams','Carter')
15.以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人,请使用下面的 SQL
SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter'
16.有两个表分别是:"Persons" 和 "Product_Orders"。我们分别为它们指定别名 "p" 和 "po"。
现在,我们希望列出 "John Adams" 的所有定单
SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Product_Orders AS po WHERE p.LastName='Adams' AND p.FirstName='John'
17.交集,并集,左连接,右连接
列出所有人的定购
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN OrdersON Persons.Id_P = Orders.Id_P ORDER BY Persons.LastName
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行
希望列出所有的人,以及他们的定购 - 如果有的话
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName
RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行
只要其中某个表存在匹配,FULL JOIN 关键字就会返回行
18.UNION 操作符用于合并两个或多个 SELECT 语句的结果集(去重),UNION ALL(不去重)
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同
列出所有在中国和美国的不同的雇员名:
SELECT E_Name FROM Employees_China UNION SELECT E_Name FROM Employees_USA
18.SQL SELECT INTO 语句可用于创建表的备份复件
下面的例子会制作 "Persons" 表的备份复件
SELECT * INTO Persons_backup FROM Persons
IN 子句可用于向另一个数据库中拷贝表
SELECT * INTO Persons IN 'Backup.mdb' FROM Persons
下面的例子通过从 "Persons" 表中提取居住在 "Beijing" 的人的信息,创建了一个带有两个列的名为 "Persons_backup" 的表
SELECT LastName,Firstname INTO Persons_backup FROM Persons WHERE City='Beijing'