I got a table from SELECT Query 1 as below from SQL SERVER:
| NUMBER | NAME | Date |
|---|---|---|
| 21 | Name1 | 20.03.2004 |
| 25 | Name2 | 26.06.2005 |
| 23 | Name3 | 26.06.2005 |
| 24 | Name4 | 22.04.2012 |
I got a table from SELECT query 2 as below from SQL SERVER:
| NUMBER | NAME | Date |
|---|---|---|
| 30 | Name10 | 20.03.2064 |
| 30 | Name10 | 26.06.2035 |
| 35 | Name30 | 26.06.2025 |
| 36 | Name40 | 22.04.2042 |
I want to join these SELECT queries into one SELECT query like below
| NUMBER | NAME | Date |
|---|---|---|
| 21 | Name1 | 20.03.2004 |
| 25 | Name2 | 26.06.2005 |
| 23 | Name3 | 26.06.2005 |
| 24 | Name4 | 22.04.2012 |
| 30 | Name10 | 20.03.2064 |
| 30 | Name10 | 26.06.2035 |
| 35 | Name30 | 26.06.2025 |
| 36 | Name40 | 22.04.2042 |
I tried like this
Select * from ( select Number,Name,Date from table1 ) t1
inner join ( select Number, Name, Date from table2) t2
on t1.number = t2.number
But it didnt work, This is not a actual table i want to join.
Basically I want to join two SELECT Query who got same Column names but have no common values between them. And I want to use SELECT query from the joined table.
Thank you
CodePudding user response:
SELECT Number, Name, Date FROM table1
UNION ALL
SELECT Number, Name, Date FROM table2
CodePudding user response:
UNION and UNION ALL are SQL operators used to concatenate 2 or more result sets. This allows us to write multiple SELECT statements, retrieve the desired results, then combine them together into a final, unified set.
The main difference between UNION and UNION ALL is that:
UNION: only keeps unique records
UNION ALL: keeps all records, including duplicates
UNION Example:
SELECT column1 AS datacheck from table1
UNION
SELECT column1 AS datacheck from table2
Result:
-----------
| datacheck |
-----------
| data2 |
-----------
UNION ALL example:
SELECT column1 AS datacheck from table1
UNION ALL
SELECT column1 AS datacheck from table2
Result:
-----------
| datacheck |
-----------
| data2 |
| data2 |
-----------
