Šajā apmācībā mēs uzzināsim, kā izmantot klauzulu SQL UNION, lai apvienotu divu vai vairāku SELECT priekšrakstu rezultātu vienā rezultātu kopā.
Šajā ilustrācijā ir parādīts SQL UNION vaicājuma pārskats:
SQL UNION sintakse
Tālāk ir parādīta sintakse divu atlasīto priekšrakstu apvienošanai, izmantojot UNION klauzulu:
ATLASĪT
col_1,
col_2,
...col_N
NO
tbl_1
SAVIENĪBA
ATLASĪT
col_1,
col_2,
...col_N
NO
tbl_2;
Pirms arodbiedrības vaicājuma veikšanas ir jāievēro šādas prasības:
- Kolonnu skaitam katrā atlases priekšrakstā ir jābūt identiskam.
- Kolonnai vienā un tajā pašā pozīcijā katrā atlases priekšrakstā ir jābūt līdzīga datu tipam.
- Kolonnu secībai visos atlasītajos priekšrakstos jābūt pareizai.
Ļaujiet mums ilustrēt, kā mēs varam izmantot UNION vaicājumu ar faktisko tabulu.
1. tabula:
Tālāk ir parādītas kolonnas un dati pirmajā tabulā:
id|servera_nosaukums |adrese |instalētā_versija|
--+-------------+--------------+------------------+
1|SQL Server |localhost:1433|15.0 |
2|Elasticsearch|localhost:9200|8.4.3 |
3|Redis |localhost:6379|6.0 |
4|PostgreSQL |localhost:5432|14.5 |
2. tabula:
Otrās tabulas struktūra un ieraksti ir šādi:
id|rīks |version|licencēts |--+----------------------------+--------+----------- +
1|SQL Server Management Studio|18.0 |komerciāls|
2|Kibana |7.17.7 |bezmaksas |
3|DBeaver |22.2 |Uzņēmums|
4|DataGrip |2022.2 |Komerciāls|
SQL UNION tabulas
Mēs varam veikt UNION darbību abu tabulu vērtībām, kā parādīts šajā vaicājumā:
ATLASĪTSERVER_NAME,
INSTALLED_VERSION
NO
STACK_MAPPING
SAVIENĪBA
ATLASĪT
RĪKS,
VERSIJA
NO
SAVIENOTĀJS;
Tam jāapvieno vaicājumi un jāatgriež tabula šādi:
servera_nosaukums |instalētā_versija|----------------------------+------------------+
SQL Server |15.0 |
Elastīga meklēšana |8.4.3 |
Redis |6.0 |
PostgreSQL |14.5 |
SQL Server Management Studio|18.0 |
Kibana |7.17.7 |
DBeaver |22.2 |
DataGrip |2022.2 |
Secinājums
Šajā rakstā ir sniegti pamati darbam ar UNION klauzulu SQL, lai apvienotu divu vai vairāku SELECT priekšrakstu rezultātus. Lai uzzinātu vairāk, skatiet citas apmācības.