[英]How to join two sql tables when the common column has different names but information is the same in both tables
[英]How to Join two SELECT queries having same column names but different row values in both tables
我從 SQL SERVER 的 SELECT 查詢 1 獲得了一張表,如下所示:
數字 | 姓名 | 日期 |
---|---|---|
21 | 名稱1 | 2004 年 3 月 20 日 |
25 | 名稱2 | 2005 年 6 月 26 日 |
23 | 名稱3 | 2005 年 6 月 26 日 |
24 | 名稱4 | 22.04.2012 |
我從 SQL SERVER 的 SELECT 查詢 2 中得到了一張表,如下所示:
數字 | 姓名 | 日期 |
---|---|---|
30 | 名稱10 | 20.03.2064 |
30 | 名稱10 | 26.06.2035 |
35 | 名稱30 | 2025 年 6 月 26 日 |
36 | 名稱40 | 22.04.2042 |
我想將這些 SELECT 查詢加入一個 SELECT 查詢,如下所示
數字 | 姓名 | 日期 |
---|---|---|
21 | 名稱1 | 2004 年 3 月 20 日 |
25 | 名稱2 | 2005 年 6 月 26 日 |
23 | 名稱3 | 2005 年 6 月 26 日 |
24 | 名稱4 | 22.04.2012 |
30 | 名稱10 | 20.03.2064 |
30 | 名稱10 | 26.06.2035 |
35 | 名稱30 | 2025 年 6 月 26 日 |
36 | 名稱40 | 22.04.2042 |
我試過這樣
Select * from ( select Number,Name,Date from table1 ) t1
inner join ( select Number, Name, Date from table2) t2
on t1.number = t2.number
但它沒有用,這不是我想加入的實際表。
基本上我想加入兩個獲得相同列名但它們之間沒有共同值的 SELECT 查詢。 我想使用連接表中的 SELECT 查詢。
謝謝
SELECT Number, Name, Date FROM table1
UNION ALL
SELECT Number, Name, Date FROM table2
根據問題的 output 與 SQL JOIN
無關,而是可以通過UNION
或UNION ALL
來實現
無論如何,您可以使用UNION
將 select 兩個表合並為一個表。 如果表的數據類型和列數分別相同且相等,則UNION
可以工作。
您的問題的解決方案是:
SELECT [NUMBER], [NAME], [Date] FROM table1
UNION ALL
SELECT [NUMBER], [NAME], [Date] FROM table2;
UNION
和JOIN
的一些基本區別是:
加入 | 聯合所有 |
---|---|
JOIN 根據它們之間的匹配條件組合來自許多表的數據。 | SQL 組合了兩個或多個 SELECT 語句的結果集。 |
它將數據組合到新列中。 | 它將數據組合成新的 ROWS |
從每個表中選擇的列數可能不同。 | 從每個表中選擇的列數應該相同。 |
從每個表中選擇的對應列的數據類型可以不同。 | 從每個表中選擇的相應列的數據類型應該相同。 |
UNION
和UNION ALL
是 SQL 運算符,用於連接 2 個或更多結果集。 這允許我們編寫多個SELECT
語句,檢索所需的結果,然后將它們組合成一個最終的統一集合。
UNION
和UNION ALL
的主要區別在於:
UNION:只保留唯一的記錄
UNION ALL:保留所有記錄,包括重復記錄
SELECT column1 AS datacheck from table1
UNION
SELECT column1 AS datacheck from table2
結果:
+-----------+
| datacheck |
+-----------+
| data2 |
+-----------+
SELECT column1 AS datacheck from table1
UNION ALL
SELECT column1 AS datacheck from table2
結果:
+-----------+
| datacheck |
+-----------+
| data2 |
| data2 |
+-----------+
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.