Come unire le tabelle in sqlite

Come unire le tabelle in sqlite
A volte quando lavoriamo con i database, potremmo aver bisogno di unire i record dalle tabelle in un database. In questo caso, possiamo utilizzare l'istruzione SQL JOY che combina i campi specificati usando valori comuni in ciascun campo.

Esistono tre tipi principali di join SQLite.

  1. La croce si unisce
  2. Unisciti interni
  3. Unisci esterno sinistro

Questo tutorial ti guiderà rapidamente attraverso questi giunti a sqlite e ti mostrerà come unirti ai record di database.

Cominciamo con il join interiore come semplice e costruiamo una base per comprendere altri tipi di join.

1: il join interno

Il join interno funziona creando una nuova tabella combinando i valori delle tabelle specificate. Si inizia confrontando la riga su ogni tabella e trovando tutte le coppie corrispondenti per il predicato specificato. Quindi combina le coppie corrispondenti in una singola riga.

La sintassi generale per il join interno è:

Selezionare la colonna (i) dalla tabella 1 di join interno Tabella 2 sulla tabella1.colonna = table2.colonna;

Vediamo un'operazione di join per illustrare come funziona.

Supponiamo di avere una tabella chiamata utenti con campi: ID, nome, età, query SQL per campioni per creare la tabella è di seguito:

Crea "utenti" della tabella (
"id" intero non nullo,
"nome" testo non null,
"Age" intero non nullo,
"lingua",
Chiave primaria (autoincrement "ID")
);

Abbiamo anche un'altra tabella chiamata righe con ID Fields e query SQL di ruolo fornito di seguito:

Crea "Ruoli" della tabella (
"id" intero non nullo,
Testo "Ruolo",
Chiave primaria (autoincrement "ID")
)

Ora possiamo eseguire un'operazione di join interner SQLite usando la query mostrata di seguito:

Seleziona gli utenti.Id, utenti.nome, ruoli.Ruolo dagli utenti INTER UNIMENTI Ruoli sugli utenti.id = ruoli.id;

La query sopra si tradurrà nella tabella mostrata di seguito:

2: La croce si unisce

L'altro tipo di join SQL è il cross join. Questo tipo corrisponde a ogni riga dalla prima tabella a ogni riga nella seconda tabella. Pensalo come un prodotto cartesiano perché i risultati sono un insieme di righe dalla Tabella 1 abbinate a ogni riga nella Tabella 2. Ad esempio, se la tabella 1 ha (a) righe e la tabella 2 ha (b) righe, la tabella risultante avrà una riga*b riga.

NOTA: Fai attenzione quando si utilizzano i join incrociati in quanto hanno il potenziale per provocare enormi set di tabelle.

La sintassi generale per un join incrociata è:

Seleziona colonne dalla tabella 1 Cross join Tabella 2;

Prendi in considerazione un join incrociato dalla tabella dell'utente con tutte le righe della tabella dei ruoli. Considera la query SQL di seguito:

Seleziona * da Utenti Cross Join Ruoli;

L'esecuzione della query sopra si tradurrà in una tabella come mostrato di seguito:

3: L'unione esterna sinistra

L'ottiene finale che vedremo è il join esterno. Il join esterno è un'estensione del join interno. Come un join interiore, lo espriamo in condizioni come on, neutro e usando. È anche bene notare che SQL definisce tre tipi di join esterni: sinistra, destra e piena, ma SQLite supporta solo sinistra.

Il join esterno sinistro restituisce tutte le righe dalla tabella sinistra specificata nella condizione e solo le righe da altre tabelle in cui è vera la condizione unita.

Considera la seguente domanda.

Seleziona gli utenti.Id, utenti.nome, ruoli.Ruolo, utenti.La lingua dagli utenti ha lasciato i ruoli di giunzione esterna sugli utenti.id = ruoli.id;

La query sopra si tradurrà nella tabella mostrata di seguito:

Conclusione

Questo tutorial ha illustrato come eseguire SQL si unisce a sqlite e creare nuove tabelle con informazioni modificate. È bene continuare a sperimentare con i join SQL mentre sono molto utili quando lavorano con i database.

Grazie per aver letto!