连表查询使用in_SQL 组合查询
SQL允許執行多個查詢(多條SELECT語句),并將結果作為一個查詢結果返回。
使用UNION操作符,可以給出多條SELECT語句,將它們的結果組合成一個結果集。
1、使用UNION
給出每條SELECT語句,在各語句之間放上關鍵字UNION。
eg:查詢 'IL', 'IN', 'MI'幾個州所有顧客信息,并查詢不知道哪個州的所有Fun4All的信息。
單條語句1:查詢 'IL', 'IN', 'MI'幾個州所有顧客信息。
輸入:
SELECT
cust_name,
cust_contact,
cust_email
FROM
customers
WHERE
cust_state IN ( 'IL', 'IN', 'MI' );
輸出:
單條語句2:查詢不知道哪個州的所有Fun4All的信息。
輸入:
SELECT
cust_name,
cust_contact,
cust_email
FROM
customers
WHERE
cust_name = 'Fun4All';
輸出:
組合以上兩條語句:
輸入:
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';
輸出:
使用WHERE子句也可以完成操作。
輸入:
SELECT
cust_name,
cust_contact,
cust_email
FROM
customers
WHERE
cust_state IN ( 'IL', 'IN', 'MI' )
OR cust_name = 'Fun4All';
輸出:
2、UNION規則
1)UNION中每個查詢必須包含相同的列、表達式或聚集函數(每個列不需要以相同的次序列出)。
2)UNION從查詢結果中自動去除重復的行,如果想返回所有行可使用UNION ALL。
eg:查詢 'IL', 'IN', 'MI'幾個州所有顧客信息,并查詢不知道哪個州的所有Fun4All的信息。(包括重復數據)
輸入:
SELECT
cust_name,
cust_contact,
cust_email
FROM
customers
WHERE
cust_state IN ( 'IL', 'IN', 'MI' ) UNION ALL
SELECT
cust_name,
cust_contact,
cust_email
FROM
customers
WHERE
cust_name = 'Fun4All';
輸出:
3、對查詢結果排序
在使用UNION組合查詢時,只能使用一條ORDER BY子句,并且只能位于最后一條SELECT語句之后。
eg:查詢 'IL', 'IN', 'MI'幾個州所有顧客信息,并查詢不知道哪個州的所有Fun4All的信息。(將查詢結果先按顧客姓名升序排列,再按顧客聯系名升序排列)
輸入:
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'
ORDER BY
cust_name,
cust_contact;
輸出:
分享即學習,歡迎參觀我的公眾號「胡健學習筆記」,共同進步~
總結
以上是生活随笔為你收集整理的连表查询使用in_SQL 组合查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机qpython下载_QPython
- 下一篇: 第一课[编辑器设置-VC++6.0]