PostgreSQL Unione, Unione TUTTO con esempi
⚡ Riepilogo intelligente
PostgreSQL UNION combina i risultati di due o più istruzioni SELECT in un unico set di risultati ed elimina le righe duplicate, mentre UNION ALL mantiene tutte le righe, offrendo un'opzione più veloce quando i duplicati non sono un problema.
Cosa è PostgreSQL Unione?
Migliori PostgreSQL L'operatore UNION viene utilizzato per combinare set di risultati da più di un'istruzione SELECT in un set di risultati. Tutte le righe duplicate dai risultati delle istruzioni SELECT vengono eliminate. L'operatore UNION funziona in due condizioni:
- Le query SELECT devono restituire lo stesso numero di colonne.
- I tipi di dati di tutte le colonne corrispondenti devono essere compatibili.
L'operatore UNION viene normalmente utilizzato per combinare dati di tabelle correlate che non sono state normalizzate perfettamente.
Sintassi
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)];
Ecco una spiegazione per i parametri di cui sopra:
Expression_1, Expression_2, … Expression_n sono i calcoli o le colonne che devi recuperare.
Le tabelle sono le tabelle da cui è necessario recuperare i record.
Le condizioni WHERE sono le condizioni che devono essere soddisfatte affinché i record possano essere recuperati.
Nota: Poiché l'operatore UNION non restituisce duplicati, l'utilizzo di UNION DISTINCT non avrà alcun impatto sui risultati.
PostgreSQL Unione
L'operatore UNION rimuove i duplicati, nello stesso modo in cui SELEZIONA DISTINCT Lo fa. Dimostriamolo. Abbiamo un database chiamato Demo con le seguenti tabelle:
Libro:
Prezzo:
Eseguiamo il seguente comando:
SELECT id FROM Book UNION SELECT id FROM Price;
Il comando restituirà quanto segue:
La colonna id appare sia nella tabella Libro che in quella Prezzo. Tuttavia, appare solo una volta nel risultato. Il motivo è quello PostgreSQL L'operatore UNION non restituisce duplicati.
PostgreSQL Unione tutto
Questo operatore combina set di risultati da più di un'istruzione SELECT senza rimuovere i duplicati. L'operatore richiede che ciascuna istruzione SELECT abbia un numero simile di campi in set di risultati con tipi di dati simili.
Sintassi:
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)];
Ecco una spiegazione per i parametri di cui sopra:
Expression_1, Expression_2, … Expression_n sono i calcoli o le colonne che devi recuperare.
Le tabelle sono le tabelle da cui è necessario recuperare i record.
Le condizioni WHERE sono le condizioni che devono essere soddisfatte affinché i record possano essere recuperati.
Nota: Entrambe le istruzioni SELECT devono contenere lo stesso numero di espressioni.
Utilizzeremo le seguenti tabelle:
Libro:
Prezzo:
Eseguire il seguente comando:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Dovrebbe restituire quanto segue:
I duplicati non sono stati rimossi.
ORDINATO DA
Migliori PostgreSQL L'operatore UNION può essere utilizzato insieme alla clausola ORDER BY per ordinare i risultati della query. Per dimostrarlo, utilizzeremo le seguenti tabelle:
Prezzo:
Prezzo2:
Ecco il comando che dimostra come utilizzare l'operatore UNION insieme alla clausola ORDER BY:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price;
Il comando restituirà quanto segue:
I record sono stati ordinati in base alla colonna del prezzo. Per impostazione predefinita, la clausola ordina i record in ordine crescente. Per ordinarli in ordine decrescente, aggiungi la clausola DESC come mostrato di seguito:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Il comando restituirà quanto segue:
I record sono stati ordinati in base alla colonna del prezzo in ordine decrescente.
Quando utilizzare Union e quando utilizzare Union All?
Utilizza l'operatore UNION quando hai più tabelle con una struttura simile ma suddivise per un motivo specifico. È utile quando devi rimuovere o eliminare record duplicati.
Utilizza l'operatore UNION ALL quando non è necessario rimuovere o eliminare record duplicati.
Utilizzando pgAdmin
Vediamo ora come vengono eseguite tutte e tre le azioni utilizzando pgAdmin.
Istruzioni per l’uso: PostgreSQL Unione utilizzando pgAdmin
Di seguito è riportato un processo passo passo su come utilizzare PostgreSQL UNIONE tramite pgAdmin:
Passo 1) Accedi al tuo account pgAdmin.
Passo 2) Dalla barra di navigazione a sinistra, fai clic su Database, quindi su Demo.
Passo 3) Digita la query nell'editor di query:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Passo 4) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Unione tutto
Passo 1) Accedi al tuo account pgAdmin.
Passo 2) Dalla barra di navigazione a sinistra, fai clic su Database, quindi su Demo.
Passo 3) Digita la query nell'editor di query:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Passo 4) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
ORDINATO DA
L'operatore UNION ALL può essere combinato con la clausola ORDER BY per ordinare i risultati nel set di risultati. Per esempio:
SELECT id FROM Book UNION ALL SELECT id FROM price ORDER BY id;
Il comando restituirà quanto segue:
I risultati sono stati ordinati.
Scarica il database utilizzato in questo tutorial


















