SQL基础语句(一)

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'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章