Existujú tri hlavné typy spojení SQLite.
- KRÍŽOVÝ SPOJ
- VNÚTORNÉ PRIPOJENIE
- VĽAVO VONKAJŠÍ
Tento tutoriál vás rýchlo prevedie týmito spojeniami SQLite a ukáže vám, ako sa pripojiť k záznamom databázy.
Začnime s VNÚTORNÝM SPOJENÍM, ktoré je jednoduché a vytvára pre nás základ pre pochopenie ďalších typov SPOJENIA.
1: VNÚTORNÉ PRIPOJENIE
INNER JOIN funguje tak, že vytvorí novú tabuľku kombináciou hodnôt zadaných tabuliek. Začína sa to porovnaním riadku v každej tabuľke a nájdením všetkých zodpovedajúcich párov podľa zadaného predikátu. Potom skombinuje zodpovedajúce páry do jedného radu.
Všeobecná syntax pre INNER JOIN je:
VYBERTE stĺpce z tabuľky1 VNÚTORNÉ PRIPOJENIE tabuľky2 NA tabuľky1.stĺpec = tabuľka2.stĺpec;Pozrime sa na operáciu JOIN, aby sme ilustrovali, ako to funguje.
Predpokladajme, že máte tabuľku s názvom users with fields: id, name, age, language-sample SQL query to create table is below:
VYTVORIŤ TABUĽKU „používatelia“ („ID“ INTEGER NIE JE NULL,
"meno" TEXT NIE JE NULL,
"vek" INTEGER NIE JE NULL,
„jazyk“ TEXT,
PRIMÁRNY KLÍČ („id“ AUTOINCREMENT)
);
Ďalej máme ďalšiu tabuľku s názvom riadky s poľami id a dotazom na rolu-SQL, ktorý je uvedený nižšie:
VYTVORIŤ TABUĽKU „Roly“ („ID“ INTEGER NIE JE NULL,
„rola“ TEXT,
PRIMÁRNY KLÍČ („id“ AUTOINCREMENT)
)
Teraz môžeme spustiť operáciu SQLite INNER JOIN pomocou nižšie uvedeného dotazu:
VYBERTE používateľov.id, používatelia.meno, roly.rola OD POUŽÍVATEĽOV VNÚTORNÉ PRIPOJENIE Rola NA používateľov.id = Roly.id;Výsledkom vyššie uvedeného dotazu bude tabuľka uvedená nižšie:
2: KRÍŽOVÝ SPOJ
Ďalším typom spojenia SQL je CROSS JOIN. Tento typ sa zhoduje s každým riadkom z prvej tabuľky s každým riadkom v druhej tabuľke. Predstavte si to ako karteziánsky súčin, pretože výsledkom je sada riadkov z tabuľky 1 zhodných s každým riadkom v tabuľke 2. Napríklad ak tabuľka1 má (a) riadky a tabuľka2 má (b) riadky, výsledná tabuľka bude mať riadok * b.
POZNÁMKA: Pri použití krížových spojení buďte opatrní, pretože môžu viesť k enormným množinám tabuliek.
Všeobecná syntax pre krížové spojenie je:
VYBERTE stĺpce z tabuľky1 CROSS JOIN tabuľka2;Zvážte krížové spojenie z tabuľky používateľa so všetkými riadkami tabuľky rolí. Zvážte nižšie uvedený dotaz SQL:
SELECT * FROM users CROSS JOIN role;Spustenie vyššie uvedeného dotazu bude mať za následok nasledujúcu tabuľku:
3: ĽAVÝ VONKAJŠÍ SPOJ
Posledným spojením, na ktoré sa pozrieme, je VONKAJŠÍ SPOJ. OUTER JOIN je rozšírením INNER JOIN. Rovnako ako INNER join, vyjadrujeme to za podmienok ako ON, NEUTRAL a USING. Je tiež dobré poznamenať, že SQL definuje tri typy VONKAJŠÍCH SPOJENÍ: ľavé, pravé a úplné, ale SQLite podporuje iba LEFT JOIN.
LEVÉ vonkajšie SPOJENIE vráti všetky riadky z LEVEJ tabuľky zadanej v podmienke a iba riadky z iných tabuliek, kde je splnená podmienka splnená.
Zvážte nasledujúci dotaz.
VYBERTE používateľov.id, používatelia.meno, roly.rola, používatelia.jazyk OD POUŽÍVATEĽOV VĽAVO VONKAJŠÍ PRIPOJTE Rola ON používateľov.id = Roly.id;Výsledkom vyššie uvedeného dotazu bude tabuľka uvedená nižšie:
Záver
Tento výukový program ilustroval, ako vykonávať spojenia SQL v SQLite a vytvárať nové tabuľky s upravenými informáciami. Je dobré experimentovať s SQL JOINmi, ktoré sa pri práci s databázami veľmi hodia.
Ďakujem za čítanie!