PostgreSQL Unie, Unie ALLEN met voorbeelden
Wat is PostgreSQL Unie?
Ocuco's Medewerkers 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 een vergelijkbaar aantal query's 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. Laten we dit demonstreren.
We hebben een database met de naam 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.
Opmerking: Beide expressies 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
Ocuco's Medewerkers 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 Union gebruiken en Wanneer Union all gebruiken?
Gebruik de UNION operator wanneer u meerdere tabellen hebt met een vergelijkbare structuur, maar om een reden gesplitst. Het is handig wanneer u dubbele records wilt verwijderen/elimineren.
Gebruik de operator UNION ALL wanneer u geen dubbele records hoeft te verwijderen/elimineren.
Gebruik pgAdmin
Laten we nu eens kijken hoe alle drie de acties werden uitgevoerd met pgAdmin.
Hoe te gebruiken PostgreSQL Unie met behulp van pgAdmin
Hieronder volgt een stapsgewijs proces over hoe u het kunt gebruiken PostgreSQL Unie met behulp van pgAdmin
Om hetzelfde te bereiken via pgAdmin, doet u het volgende:
Stap 1) Inloggen
Log in op uw pgAdmin-account.
Stap 2) Klik op Databases
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
Stap 3) Typ de zoekopdracht
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.
Klik vervolgens op de knop Uitvoeren. Zoals weergegeven in onderstaande afbeelding.
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.
- Klik 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.
Samenvatting
- Ocuco's Medewerkers PostgreSQL De UNION-operator combineert resultaten van meer dan één SELECT-instructie in één resultatenset.
- De UNION-operator retourneert geen dubbele records.
- Om de resultaten te ordenen, combineert u deze met de ORDER BY-clausule.
- De UNION ALL-operator combineert de resultaten van meer dan één SELECT-instructie in één resultatenset.
- De operator UNION ALL verwijdert geen duplicaten.
Download de database die in deze zelfstudie wordt gebruikt