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