Sinistra unisciti a postgresql

Sinistra unisciti a postgresql
Il join PostgreSQL è una funzione che consente di combinare colonne da una tabella con una o più tabelle basate sulle colonne comuni tra le tabelle correlate. Esistono molti tipi di join, come interiore join, esterno unito, cross join e self join. Questo articolo definirà il join sinistra in due tipi:
  • Unisci esterno sinistro
  • Sinistra interno

Spiegheremo ogni tipo con esempi specifici.

Sintassi

Seleziona Table_a.Columna, Table_A.columnb, table_b.Columna
Da table_a
Sinistra join table_b
Su table_a.corrispondenza_column = table_b.corrispondenza_column;

Table_a implica la prima tabella e table_b implica la seconda tabella. Matching_column è la colonna che è presente in entrambe le tabelle potrebbe essere con nomi di colonne diversi.

  • La sintassi mostra che dobbiamo specificare due tabelle utilizzando l'istruzione SELECT.
  • Secondo, mostriamo il tavolo principale.
  • Terzo, menzioniamo la tabella e la tabella principale ha formato un join con.

Per realizzare la comprensione di sinistra, dobbiamo creare due tabelle in PostgreSQL. Entrambe le tabelle vengono create utilizzando il comando "Crea tabella". L'istruzione di esempio è riportata di seguito. Lascia che il nome della tabella "elemento":

>> Crea elementi della tabella (ID integer, nome Varchar (10), categoria Varchar (10), ordine_no intero, indirizzo varchar (10), scadenza_month varchar (10));

Ora aggiungi i valori nella tabella per "inserisci istruzione":

>> inserire nei valori degli articoli (1, 'bambola', 'giocattolo', 4, 'indirizzo');

Usando questo comando, i valori vengono immessi in una singola riga della tabella.

Ora, tornando all'esempio, abbiamo due tavoli qui, uno è "oggetti" e l'altro è "ordini". Puoi vedere il contenuto delle tabelle utilizzando il comando "Seleziona":

Tabella 1-elementi:

Tabella 2-ORDERS:

Esempio 1:
Considera entrambe le tabelle. Queste tabelle sono create in modo tale che una colonna forma un collegamento tra queste due tabelle. Ad esempio, order_no svolge il ruolo di stabilire il collegamento. Il comando seguente utilizza la clausola di un join a sinistra per unirsi alla tabella "elementi" con "ordini":

>> Seleziona elementi.ID, nome, ordine_id dagli elementi di sinistra di join su ordini.ordine_id = elementi.order_no ordine per nome;

Qui, otteniamo la tabella risultante quando abbiamo selezionato "id" e "nome" dalla tabella degli elementi e order_no dalla tabella degli ordini, quindi queste tre colonne vengono visualizzate. Quando una riga dalla tabella degli elementi non ha una riga di corrispondenza con la tabella degli ordini, i valori della colonna Order_id di quella riga sono null.

Esempio 2:
Questo esempio ricorda il precedente ma differisce nell'avere una clausola "dove". Questo aiuta a trovare gli ordini che non sono presenti nella tabella degli ordini. Ciò si ottiene utilizzando un'istruzione aggiuntiva che mostra la colonna vuota confrontando i valori con lo spazio. Se non è presente alcun valore, selezionare l'ID e il nome. Questo esempio è correlato al join a sinistra esterno. Il join a sinistra esterno è quello in cui, mentre si ottiene il valore risultante dopo aver applicato vincoli, tutti gli elementi appartengono a una singola tabella (tabella sinistra). Se viene abbinato un singolo elemento, il risultato è lontano dall'unione esterna a sinistra:

>> Seleziona elementi.id, voci. nome, ordine_id dagli elementi sinistra di join ordini su ordini.ordine_id = elementi.ordine_no dove ordini. ID è null ordine per nome;

L'immagine mostra che tutte e sei le righe nella tabella "elementi" sono diverse dalla tabella "ordini". O la tabella "ordini" non contiene questi valori. Ecco perché l'intera colonna è vuota.

Esempio 3:
Questo esempio mostra il collegamento tra due tabelle direttamente. Come nell'istruzione SELECT, prendiamo due colonne dalle voci della tabella e una colonna dagli ordini della tabella. Ma per questo concetto, dobbiamo menzionare il nome della colonna con il nome della tabella per "metodo a punta", che specifica la colonna di una particolare tabella. Questo è un esempio di join sinistra interno perché alcune parti di entrambe le tabelle sono presenti nella tabella risultante:

>> Seleziona nome, categoria, ordini.Indirizzo dagli articoli lasciati a far parte degli ordini su ordini.ordine_id = elementi.Numero d'ordine,

Quindi, la tabella risultante sarà la combinazione di colonne da entrambe le tabelle. La colonna dell'indirizzo conterrà solo l'indirizzo della tabella "ordini" che corrisponde all'indirizzo della tabella "elementi".

Allo stesso modo, se cambiamo l'istruzione "Dot-Method", fa la differenza. In questo esempio, abbiamo sostituito "ordini.Indirizzo "con la colonna Indirizzo nella tabella degli elementi" Articoli.indirizzo":

>> Seleziona nome, categoria, elementi.Indirizzo dagli articoli lasciati a far parte degli ordini su ordini.ordine_id = elementi.Numero d'ordine,

Ora, puoi osservare che la colonna dell'indirizzo ha tutte le righe piene di dati presenti nella tabella "elementi".

Esempio 4:
Qui sono selezionate più di due colonne di ogni tabella. A volte, dobbiamo ridurre la ridondanza per evitare la duplicità dei dati combinando due tabelle. Questo può essere fatto solo utilizzando vincoli su più di una colonna per recuperare dati precisi e preziosi che sono coerenti in entrambe le tabelle. Quindi, in questo esempio, vogliamo visualizzare il nome, l'indirizzo e l'ordine_no che sono presenti solo nella tabella degli elementi e non nella tabella "Ordini":

>> Seleziona nome, ordini_no, ordine_id, elementi.Indirizzo dagli articoli lasciati a far parte degli ordini su ordini.ordine_id = elementi.ordine_no dove gli ordini sono nulli;

Per ottenere l'intera colonna vacante, abbiamo applicato il vincolo di null. In questo esempio, abbiamo nuovamente specificato l'indirizzo con la tabella degli elementi per consentire la discriminazione con la colonna dell'indirizzo. Ma nel prossimo esempio, abbiamo sostituito l'indirizzo con "order_day" dalla tabella "ordini". Dopo aver sostituito la colonna, sia Order_id che Order_Day sono colonne libere nella tabella risultante:

>> Seleziona nome, ordini_no, ordine_id, ordini_day dagli elementi sinistra di join ordini su ordini.ordine_id = elementi.ordine_no dove gli ordini sono nulli;

Abbiamo menzionato solo l'ordine_id per essere nullo. Ma perché "order_day" è vuoto?

È un fattore ovvio che se abbiamo scelto solo quelle righe di ordini_no che non sono presenti nella tabella "ordini", quindi come potrebbe essere possibile avere quei valori "order_day" i cui ordini_id non sono presenti.

Implementazione tramite PGADMIN

Per implementare i comandi sul lato PGAdmin, è necessario fornire la password all'inizio. Ora, vai alla barra sinistra. Verrai a conoscenza dei database nel server. Espandi il database Postgres, poiché abbiamo implementato le nostre domande qui. Dopo l'espansione, otterrai i cataloghi, compresi i dati della tabella:

Ora, fai clic con il pulsante destro del mouse sulla tabella e seleziona lo strumento di query:

Prendiamo lo stesso esempio descritto sopra solo per creare il pgadmin in uso. Scrivi la seguente query nella parte Snap e nella parte dell'editor di query. Per eseguire il comando, passare alla barra degli strumenti di navigazione sopra menzionata. Ecco il simbolo come il simbolo del gioco nella musica. Seleziona questo e la query verrà eseguita. È mostrato nell'output dei dati:

Conclusione

Il join PostgreSQL combina colonne di diverse tabelle con colonne simili. In particolare, il join a sinistra combina il tavolo sul lato sinistro. Significa che la tabella destra è menzionata prima nel comando e poi, l'altro. Tutte le condizioni vengono applicate a sinistra un join nell'interno o nel caso di join esterno. Speriamo che tu abbia trovato questo articolo utile nell'uso di sinistra per postgresql. Si prega di controllare gli altri articoli per ulteriori informazioni.