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 BYenHAVINGclausules worden toegepast op elke individuele zoekopdracht, niet op de uiteindelijke resultaatset. - De
ORDER BYclausule 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.