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