PostgreSQL Unie, Unie ALLEN met voorbeelden
โก Slimme samenvatting
PostgreSQL UNION combineert de resultaten van twee of meer SELECT-instructies tot รฉรฉn resultaatset en verwijdert dubbele rijen, terwijl UNION ALL alle rijen behoudt, wat een snellere optie is wanneer duplicaten geen probleem vormen.

Wat is PostgreSQL Unie?
De PostgreSQL De UNION-operator wordt gebruikt om resultaatsets van meer dan รฉรฉn SELECT-statement te combineren tot รฉรฉn resultaatset. Dubbele rijen uit de resultaten van de SELECT-statements worden geรซlimineerd. De UNION-operator werkt onder twee voorwaarden:
- De SELECT-query's moeten hetzelfde aantal kolommen retourneren.
- De gegevenstypen van alle bijbehorende kolommen moeten compatibel zijn.
De UNION-operator wordt normaal gesproken gebruikt om gegevens uit gerelateerde tabellen te combineren die niet perfect zijn genormaliseerd.
Syntaxis
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Hier volgt een uitleg voor de bovenstaande parameters:
De expression_1, expression_2, โฆ expression_n zijn de berekeningen of kolommen die u moet ophalen.
De tabellen zijn de tabellen waaruit u records moet ophalen.
De WHERE-voorwaarde(n) zijn de voorwaarden waaraan moet worden voldaan voordat records kunnen worden opgehaald.
Let op: Omdat de UNION-operator geen duplicaten retourneert, heeft het gebruik van UNION DISTINCT geen invloed op de resultaten.
PostgreSQL Unie
De UNION-operator verwijdert duplicaten, op dezelfde manier als KIES DISTINCT Dat klopt. Laten we dit demonstreren. We hebben een database genaamd Demo met de volgende tabellen:
Boek:
Prijs:
Laten we de volgende opdracht uitvoeren:
SELECT id FROM Book UNION SELECT id FROM Price;
De opdracht retourneert het volgende:
De kolom ID verschijnt in zowel de Boek- als de Prijstabellen. Het komt echter slechts รฉรฉn keer voor in het resultaat. De reden is dat PostgreSQL De UNION-operator retourneert geen duplicaten.
PostgreSQL Unie allemaal
Deze operator combineert resultaatsets van meer dan รฉรฉn SELECT-statement zonder duplicaten te verwijderen. De operator vereist dat elke SELECT-statement een vergelijkbaar aantal velden heeft in resultaatsets van vergelijkbare gegevenstypen.
Syntax:
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION ALL SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Hier volgt een uitleg voor de bovenstaande parameters:
De expression_1, expression_2, โฆ expression_n zijn de berekeningen of kolommen die u moet ophalen.
De tabellen zijn de tabellen waaruit u records moet ophalen.
De WHERE-voorwaarde(n) zijn de voorwaarden waaraan moet worden voldaan voordat records kunnen worden opgehaald.
Let op: Beide SELECT-instructies moeten een gelijk aantal expressies bevatten.
We gebruiken de volgende tabellen:
Boek:
Prijs:
Voer het volgende commando uit:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Het volgende zou moeten worden geretourneerd:
De duplicaten zijn niet verwijderd.
BESTELLING DOOR
De PostgreSQL De UNION-operator kan samen met de ORDER BY-component worden gebruikt om de queryresultaten te ordenen. Om dit te demonstreren, gebruiken we de volgende tabellen:
Prijs:
Prijs2:
Hier is de opdracht die laat zien hoe u de UNION-operator samen met de ORDER BY-clausule kunt gebruiken:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price;
De opdracht retourneert het volgende:
De records zijn gerangschikt op basis van de prijskolom. De clausule rangschikt de records standaard in oplopende volgorde. Om ze in aflopende volgorde te ordenen, voegt u de DESC-clausule toe, zoals hieronder weergegeven:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
De opdracht retourneert het volgende:
De records zijn geordend op basis van de prijskolom in aflopende volgorde.
Wanneer gebruik je Union en wanneer Union All?
Gebruik de UNION-operator wanneer u meerdere tabellen met een vergelijkbare structuur hebt die om een โโbepaalde reden zijn gesplitst. Deze operator is handig wanneer u dubbele records wilt verwijderen.
Gebruik de operator UNION ALL wanneer u geen dubbele records hoeft te verwijderen.
Gebruik pgAdmin
Laten we nu eens kijken hoe alle drie de acties worden uitgevoerd met pgAdmin.
Hoe te gebruiken PostgreSQL Unie met behulp van pgAdmin
Hieronder volgt een stapsgewijze handleiding voor het gebruik ervan. PostgreSQL UNION via pgAdmin:
Stap 1) Log in op uw pgAdmin-account.
Stap 2) Klik in de navigatiebalk aan de linkerkant op Databases en vervolgens op Demo.
Stap 3) Typ de query in de query-editor:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Stap 4) Klik op de knop Uitvoeren.
Het volgende zou moeten worden geretourneerd:
Unie allemaal
Stap 1) Log in op uw pgAdmin-account.
Stap 2) Klik in de navigatiebalk aan de linkerkant op Databases en vervolgens op Demo.
Stap 3) Typ de query in de query-editor:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Stap 4) Klik op de knop Uitvoeren.
Het volgende zou moeten worden geretourneerd:
BESTELLING DOOR
De operator UNION ALL kan worden gecombineerd met de clausule ORDER BY om resultaten in de resultaatset te ordenen. Bijvoorbeeld:
SELECT id FROM Book UNION ALL SELECT id FROM price ORDER BY id;
De opdracht retourneert het volgende:
De resultaten zijn besteld.
Download de database die in deze zelfstudie wordt gebruikt

















