SQLite

Kako spojiti tablice u SQLiteu

Kako spojiti tablice u SQLiteu
Ponekad ćemo prilikom rada s bazama podataka možda trebati spojiti zapise iz tablica u bazi podataka. U tom slučaju možemo koristiti SQL JOIN izraz koji kombinira navedena polja koristeći zajedničke vrijednosti u svakom polju.

Postoje tri glavne vrste spajanja SQLite.

  1. KRIŽNI SE PRIDRUŽITE
  2. UNUTARNJE PRIDRUŽIVANJE
  3. LIJEVO VANJSKO PRIDRUŽITE

Ovaj vodič će vas brzo provesti kroz ove SQLite pridruživanja i pokazati vam kako se pridružiti zapisima baze podataka.

Počnimo s UNUTARNJIM PRIDRUŽIVANJEM, jer je to jednostavno i gradi nam temelj za razumijevanje ostalih vrsta PRIDRUŽIVANJA.

1: UNUTARNJE PRIDRUŽIVANJE

UNUTARNJE PRIDRUŽIVANJE djeluje stvaranjem nove tablice kombiniranjem vrijednosti navedenih tablica. Počinje usporedbom retka na svakoj tablici i pronalaženjem svih odgovarajućih parova po navedenom predikatu. Zatim kombinira odgovarajuće parove u jedan red.

Opća sintaksa za INNER JOIN je:

ODABERI stupac (e) IZ table1 INNER JOIN tablica2 ON table1.stupac = tablica2.stupac;

Pogledajmo operaciju JOIN da bismo ilustrirali kako ona funkcionira.

Pretpostavimo da imate tablicu koja se zove korisnici s poljima: id, ime, dob, uzorak jezika SQL upit za stvaranje tablice nalazi se ispod:

IZRADI TABELU "korisnici" (
"id" INTEGER NIJE NULL,
"ime" TEKST NIJE NULL,
"dob" CIJELI NIJE NULL,
"jezični" TEKST,
PRIMARNI KLJUČ ("id" AUTOINCREMENT)
);

Također imamo još jednu tablicu koja se naziva redovi s poljima id i ulogom SQL-upita navedenog u nastavku:

IZRADI TABELU "Uloge" (
"id" INTEGER NIJE NULL,
"uloga" TEKST,
PRIMARNI KLJUČ ("id" AUTOINCREMENT)
)

Sada možemo pokrenuti operaciju SQLite INNER JOIN koristeći upit prikazan u nastavku:

ODABERITE korisnike.id, korisnici.ime, Uloge.uloga OD korisnika UNUTARNJE PRIDRUŽIVANJE Uloge O korisnicima.id = Uloge.iskaznica;

Gornji upit rezultirat će dolje prikazanom tablicom:

2: PRIKLJUČAK

Druga vrsta SQL PRIDRUŽIVANJA je CROSS JOIN. Ova vrsta podudara svaki redak iz prve tablice sa svakim retkom u drugoj tablici. Shvatite to kao kartezijski proizvod jer su rezultati skup redaka iz tablice 1 koji se podudaraju sa svakim retkom u tablici 2. Na primjer, ako table1 ima (a) retke, a table2 (b) retke, rezultirajuća tablica će imati * b redak.

BILJEŠKA: Budite oprezni pri korištenju unakrsnih spajanja jer oni mogu rezultirati ogromnim setovima tablica.

Općenita sintaksa za cross join je:

ODABERI stupac (e) IZ tablice1 PRESEŽI tablicu2;

Razmislite o unakrsnom spajanju iz korisničke tablice sa svim redovima tablice uloga. Razmotrite SQL upit u nastavku:

ODABIR * OD korisnika PRESJEDITE se ulogama;

Pokretanje gornjeg upita rezultirat će tablicom kao što je prikazano u nastavku:

3: LIJEVA VANJSKA PRIDRUŽITELJA

Konačno pridruživanje koje ćemo pogledati je VANJSKO PRIDRUŽIVANJE. VANJSKI PRIDRUŽENO je produžetak UNUTARNJEG PRIDRUŽIVANJA. Poput INNER join, izražavamo je pod uvjetima kao što su ON, NEUTRAL i USING. Također je dobro napomenuti da SQL definira tri vrste VANJSKIH PRIDRUŽIVANJA: lijevo, desno i potpuno, ali SQLite podržava samo LIJEVO PRIDRUŽIVANJE.

LIJEVA vanjska JOIN vraća sve retke iz LIJEVE tablice navedene u stanju i samo retke iz drugih tablica u kojima je pridruženi uvjet istinit.

Razmotrite sljedeći upit.

ODABERITE korisnike.id, korisnici.ime, uloge.uloga, korisnici.jezik OD korisnika LIJEVO VANJSKO PRIDRUŽITE Uloge NA korisnicima.id = Uloge.iskaznica;

Gornji upit rezultirat će dolje prikazanom tablicom:

Zaključak

Ovaj je vodič ilustrirao kako izvesti SQL spajanja u SQLiteu i stvoriti nove tablice s modificiranim informacijama. Dobro je nastaviti eksperimentirati s SQL PRIDRUŽIVANJIMA jer oni vrlo dobro dođu prilikom rada s bazama podataka.

Hvala na čitanju!

Instalirajte najnoviji Dolphin Emulator za Gamecube i Wii na Linux
Dolphin Emulator omogućuje vam igranje odabranih Gamecube i Wii igara na Linux osobnim računalima (PC). Dolphin Emulator je slobodno dostupan i emula...
Kako koristiti GameConqueror Cheat Engine u Linuxu
Članak pokriva vodič o korištenju GameConqueror varalice u Linuxu. Mnogi korisnici koji igraju igre na sustavu Windows često koriste aplikaciju "Cheat...
Najbolji emulatori igraće konzole za Linux
Ovaj će članak navesti popularni softver za emulaciju igraće konzole dostupan za Linux. Emulacija je sloj kompatibilnosti softvera koji oponaša hardve...