Esistono tre tipi principali di join SQLite.
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!