Samenvatting :in deze tutorial leer je hoe je SQLite UNION
. gebruikt operator om resultatensets van twee of meer zoekopdrachten te combineren in een enkele resultaatset.
Inleiding tot SQLite UNION
telefoniste
Soms moet u gegevens uit meerdere tabellen combineren tot een volledige resultatenset. Het kan zijn voor tabellen met vergelijkbare gegevens binnen dezelfde database of misschien moet u vergelijkbare gegevens uit meerdere databases combineren.
Om rijen van twee of meer query's te combineren in een enkele resultaatset, gebruikt u SQLite UNION
exploitant. Het volgende illustreert de basissyntaxis van de UNION
operator:
query_1
UNION [ALL]
query_2
UNION [ALL]
query_3
...;
Code language: SQL (Structured Query Language) (sql)
Beide UNION
en UNION ALL
operators combineren rijen uit resultaatsets in één resultaatset. De UNION
operator verwijdert elimineert dubbele rijen, terwijl de UNION ALL
operator niet.
Omdat de UNION ALL
operator verwijdert geen dubbele rijen, het werkt sneller dan de UNION
telefoniste.
De volgende regels zijn voor vakbondsgegevens:
- Het aantal kolommen in alle zoekopdrachten moet hetzelfde zijn.
- De corresponderende kolommen moeten compatibele gegevenstypen hebben.
- De kolomnamen van de eerste zoekopdracht bepalen de kolomnamen van de gecombineerde resultatenset.
- De
GROUP BY
enHAVING
clausules worden toegepast op elke individuele zoekopdracht, niet op de uiteindelijke resultaatset. - De
ORDER BY
clausule wordt toegepast op de gecombineerde resultatenset, niet binnen de individuele resultaatset.
Merk op dat het verschil tussen UNION
en JOIN
bijv. INNER JOIN
of LEFT JOIN
is dat de JOIN
clausule combineert kolommen uit meerdere gerelateerde tabellen, terwijl UNION
combineert rijen uit meerdere vergelijkbare tabellen.
Stel dat we twee tabellen t1 en t2 hebben met de volgende structuren:
CREATE TABLE t1(
v1 INT
);
INSERT INTO t1(v1)
VALUES(1),(2),(3);
CREATE TABLE t2(
v2 INT
);
INSERT INTO t2(v2)
VALUES(2),(3),(4);
Code language: SQL (Structured Query Language) (sql)
De volgende instructie combineert de resultatensets van de t1- en t2-tabel met behulp van de UNION
operator:
SELECT v1
FROM t1
UNION
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)
Hier is de uitvoer:
De volgende afbeelding illustreert de UNION
bediening van t1- en t2-tabellen:
De volgende instructie combineert de resultatensets van de tabel t1 en t2 met behulp van de UNION ALL
operator:
SELECT v1
FROM t1
UNION ALL
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)
De volgende afbeelding toont de uitvoer:
De volgende afbeelding illustreert de UNION ALL
werking van de resultaatsets van de tabellen t1 en t2:
SQLite UNION
voorbeelden
Laten we enkele voorbeelden nemen van het gebruik van de UNION
telefoniste.
1) SQLite UNION
voorbeeld
Deze verklaring gebruikt de UNION
operator om namen van werknemers en klanten te combineren in een enkele lijst:
SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers;
Code language: SQL (Structured Query Language) (sql)
Hier is de uitvoer:
2) SQLite UNION
met ORDER BY
voorbeeld
Dit voorbeeld gebruikt de UNION
operator om de namen van de werknemers en klanten te combineren in één lijst. Bovendien gebruikt het de ORDER BY
clausule om de namenlijst te sorteren op voornaam en achternaam.
SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers
ORDER BY FirstName, LastName;
Code language: SQL (Structured Query Language) (sql)
Hier is de uitvoer:
In deze tutorial heb je geleerd hoe je SQLite UNION
gebruikt operator om rijen uit resultaatsets te combineren in een enkele resultaatset. Je hebt ook de verschillen geleerd tussen UNION
en UNION ALL
operators.