SQL總結(六)
組合查詢
SQL允許執行多個查詢(多條SELECT語句),並將結果作為一個查詢結果輸出。組合查詢通常稱為並(union)或復合查詢。
有兩種情況需要使用組合查詢:
1、在一個查詢中從不同的表返回結構數據
2、對一個表執行多個查詢,按一個查詢返回數據。
例子:
SELECT cust_name,cust_contact,cust_email FROM Customers WHERE cust_state IN (‘IL‘,‘IN‘,‘MI‘) UNION SELECT cust_name,cust_contact,cust_email FROM Customers WHERE cust_name=‘Fun4All‘;
其實這一條語句就是用UNION將兩條SELECT語句連接在一起,作為一個查詢結果輸出。
UNION規則:
UNION必須由兩條或以上的SELECT語句組成;
UNION的每個查詢中必須包含相同的列、表達式或聚集函數,即SELECT後面跟的要輸出的內容必須相同;
列數據類型必須兼容。
註意:使用UNION時,重復的行會被自動取消,即兩條SELECT輸出的內容假設有相同的行,那麽只會輸出一行該內容。如果想返回所有的匹配行,可以使用UNION ALL。
另外,在排序時,只能使用一條ORDER BY子句,且位於最後一條SELECT語句後面。
插入數據
數據插入
INSERT語句,插入包括:插入完整的行,插入行的一部分,插入某些查詢的結果。
插入完整的行:
INSERT INTO Customers VALUES(‘‘,‘‘,‘‘);括號內是插入的內容。
更安全的插入方法是:
INSERT INTO Customers(A,B,C,D) VALUES(‘‘,‘‘,‘‘,‘‘);前一個括號是列名,後一個括號內是對應的插入的值。
另外ABCD的順序不用嚴格遵守Customers內的列的順序。
插入行的一部分:
INSERT INTO Customers(A,C,D) VALUES(‘‘,‘‘,‘‘);表示只是插入了ACD三個值,B這個空著不插入。
註意:
省略的值必須滿足以下某個條件,該列定義為允許NULL值(無值或者空值);或者在表的定義中給出了默認值。
插入檢索出的數據:
INSERT INTO Customers(A,B,C,D) SELECT A,B,C,D FROM Cust_new;
SQL總結(六)