W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
SET運(yùn)算符合并多個(gè)SELECT語句的結(jié)果。 這可能看起來類似于連接,但連接組合來自多個(gè)表的列,而SET運(yùn)算符組合來自多個(gè)行的行。
SELECT col1, col2, col3… FROM <table 1> [WHERE condition] UNION SELECT col1, col2, col3… FROM <table 2> [WHERE condition];
考慮下面的員工表和工資表。
員工編號(hào) | 名字 | 姓 | 入職日期 | 部門 | 生日 |
---|---|---|---|---|---|
101 | Mike | James | 3/27/2005 | 1 | 1/5/1980 |
102 | Robert | Williams | 4/25/2007 | 2 | 3/5/1983 |
103 | Peter | Paul | 3/21/2007 | 2 | 4/1/1983 |
104 | Alex | Stuart | 2/1/2008 | 2 | 11/6/1984 |
105 | Robert | James | 1/4/2008 | 3 | 12/1/1984 |
員工編號(hào) | 收入 | 扣除 | 凈得工資 |
---|---|---|---|
101 | 40,000 | 4,000 | 36,000 |
102 | 80,000 | 6,000 | 74,000 |
103 | 90,000 | 7,000 | 83,000 |
104 | 75,000 | 5,000 | 70,000 |
以下UNION查詢組合Employee和Salary表中的EmployeeNo值。
SELECT EmployeeNo FROM Employee UNION SELECT EmployeeNo FROM Salary;
執(zhí)行查詢時(shí),將生成以下輸出。
EmployeeNo ----------- 101 102 103 104 105
UNION ALL語句與UNION類似,它合并來自多個(gè)表(包括重復(fù)行)的結(jié)果。
以下是UNION ALL語句的基本語法。
SELECT col1, col2, col3… FROM <table 1> [WHERE condition] UNION ALL SELECT col1, col2, col3… FROM <table 2> [WHERE condition];
以下是UNION ALL語句的示例。
SELECT EmployeeNo FROM Employee UNION ALL SELECT EmployeeNo FROM Salary;
當(dāng)執(zhí)行上述查詢時(shí),它將產(chǎn)生以下輸出。 你可以看到它也返回重復(fù)。
EmployeeNo ----------- 101 104 102 105 103 101 104 102 103
INTERSECT命令也用于組合多個(gè)SELECT語句的結(jié)果。 它返回在第二個(gè)SELECT語句中具有相應(yīng)匹配的第一個(gè)SELECT語句的行。 換句話說,它返回存在于兩個(gè)SELECT語句中的行。
以下是INTERSECT語句的基本語法。
SELECT col1, col2, col3… FROM <table 1> [WHERE condition] INTERSECT SELECT col1, col2, col3… FROM <table 2> [WHERE condition];
以下是INTERSECT語句的示例。 它返回兩個(gè)表中存在的EmployeeNo值。
SELECT EmployeeNo FROM Employee INTERSECT SELECT EmployeeNo FROM Salary;
當(dāng)執(zhí)行上述查詢時(shí),它返回以下記錄。 EmployeeNo 105被排除,因?yàn)樗淮嬖谟赟ALARY表中。
EmployeeNo ----------- 101 104 102 103
MINUS / EXCEPT命令組合多個(gè)表中的行,并返回第一個(gè)SELECT但不包含第二個(gè)SELECT的行。 它們都返回相同的結(jié)果。
以下是MINUS語句的基本語法。
SELECT col1, col2, col3… FROM <table 1> [WHERE condition] MINUS SELECT col1, col2, col3… FROM <table 2> [WHERE condition];
以下是MINUS語句的示例。
SELECT EmployeeNo FROM Employee MINUS SELECT EmployeeNo FROM Salary;
執(zhí)行此查詢時(shí),它返回以下記錄。
EmployeeNo ----------- 105
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: