SQL UNION operator
The UNION operator is used to merge the result sets of two or more SELECT statements.
Note that the SELECT statement inside the UNION must haveSame quantity. Columns must also haveSimilar data types. In additionSequenceMust be the same.
SQL UNION syntax
SELECT column_name (s) FROM table_name1
UNION
SELECT column_name (s) FROM table_name2
Note: by default, the UNION operator selects different values, that isUNION is de-duplicated. IfRepeated values are allowed. Use UNION ALL.
SQL UNION ALL syntax
SELECT column_name (s) FROM table_name1
UNION ALL
SELECT column_name (s) FROM table_name2
In addition, the column name in the UNION result set is always the same as the column name in the first SELECT statement in the UNION.
UNIONThe purpose of the command is to combine the results of two SQL statements. From this perspective,UNIONThis is somewhat similar to JOIN, because both commands can retrieve data from multiple tables. Union only concatenates two results and displays them together. It does not join two tables ............UNIONSyntax:
[SQL statement 1]
UNION
[SQL statement 2]Suppose we have two tables,
Store_InformationTable
Store_name |
Sales |
Date |
Los Angeles |
$1500 |
Jan-05-1999 |
San Diego |
$250 |
Jan-07-1999 |
Los Angeles |
$300 |
Jan-08-1999 |
Boston |
$700 |
Jan-08-1999 |
|
Internet SalesTable
Date |
Sales |
Jan-07-1999 |
$250 |
Jan-10-1999 |
$535 |
Jan-11-1999 |
$320 |
Jan-12-1999 |
$750 |
|
We need to find out all the days with a turnover. To achieve this goal, we use the following SQL statement:SELECT Date FROM Store_Information
UNION
SELECT Date FROM Internet_Sales Result:
Date |
Jan-05-1999 |
Jan-07-1999 |
Jan-08-1999 |
Jan-10-1999 |
Jan-11-1999 |
Jan-12-1999 |
It is worth noting that if we use"Select distinct Date"Then we will get the same result.
SQL Union All
UNION ALLThe purpose of this command is to combine the results of two SQL statements.UNION ALLAndUNIONThe difference is thatUNION ALLEach qualified item is listed, regardless of whether the item value is repeated.UNION ALLSyntax:[SQL statement 1]
UNION ALL
[SQL statement 2]We use the same example on the previous page to showUNION ALLAndUNION. Let's assume that we have the following two tables,
Store_InformationTable
Store_name |
Sales |
Date |
Los Angeles |
$1500 |
Jan-05-1999 |
San Diego |
$250 |
Jan-07-1999 |
Los Angeles |
$300 |
Jan-08-1999 |
Boston |
$700 |
Jan-08-1999 |
|
Internet SalesTable
Date |
Sales |
Jan-07-1999 |
$250 |
Jan-10-1999 |
$535 |
Jan-11-1999 |
$320 |
Jan-12-1999 |
$750 |
|
However, we need to find out the days when there are store turnover and network turnover. To achieve this goal, we use the following SQL statement:SELECT Date FROM Store_Information
UNION ALL
SELECT Date FROM Internet_Sales Result:
Date |
Jan-05-1999 |
Jan-07-1999 |
Jan-08-1999 |
Jan-08-1999 |
Jan-07-1999 |
Jan-10-1999 |
Jan-11-1999 |
Jan-12-1999 |
Eg:
Copy codeThe Code is as follows:
SELECT id, Name, DocPinYin FROM doctor
UNION
SELECT 0 AS id, 'no doctor name' AS Name, ''AS DocPinYin
Result set is
SELECT id, Name, DocPinYin FROM doctor
Result set is
Therefore, union aggregates two results.