SQLite

Jak se připojit k tabulkám v SQLite

Jak se připojit k tabulkám v SQLite
Někdy při práci s databázemi možná budeme muset spojit záznamy z tabulek v databázi. V takovém případě můžeme použít příkaz SQL JOIN, který kombinuje zadaná pole pomocí společných hodnot v každém poli.

Existují tři hlavní typy spojení SQLite.

  1. CROSS JOIN
  2. VNITŘNÍ SPOJENÍ
  3. VLEVO VENKOVNÍ PŘIPOJENÍ

Tento kurz vás rychle provede těmito spojeními SQLite a ukáže vám, jak se připojit k záznamům databáze.

Začněme s VNITŘNÍM PŘIPOJENÍM, jak je to jednoduché, a budujeme základnu pro pochopení dalších typů PŘIPOJENÍ.

1: VNITŘNÍ PŘIPOJENÍ

INNER JOIN funguje vytvořením nové tabulky kombinací hodnot zadaných tabulek. Začíná to porovnáním řádku na každé tabulce a nalezením všech odpovídajících párů na zadaný predikát. Poté kombinuje odpovídající páry do jednoho řádku.

Obecná syntaxe pro INNER JOIN je:

VYBERTE sloupce z tabulky1 VNITŘNÍ PŘIPOJENÍ tabulka2 NA tabulce1.sloupec = tabulka2.sloupec;

Podívejme se na operaci JOIN, abychom ilustrovali, jak to funguje.

Předpokládejme, že máte tabulku s názvem users with fields: id, name, age, language-sample SQL query to create table is below:

VYTVOŘIT TABULKU „uživatelé“ (
„ID“ INTEGER NENÍ NULL,
"name" TEXT NENÍ NULL,
„age“ INTEGER NENÍ NULL,
"jazyk" TEXT,
PRIMÁRNÍ KLÍČ ("id" AUTOMATICKÝ PŘÍPIS)
);

Máme také další tabulku nazvanou řádky s ID polí a dotaz role-SQL poskytnutý níže:

VYTVOŘIT TABULKU „Role“ (
„id“ INTEGER NENÍ NULL,
"role" TEXT,
PRIMÁRNÍ KLÍČ ("id" AUTOMATICKÝ PŘÍPIS)
)

Nyní můžeme spustit dotaz SQLite INNER JOIN pomocí dotazu uvedeného níže:

VYBRAT uživatele.id, uživatelé.jméno, role.role FROM users INNER JOIN Role ON users.id = Role.id;

Výsledkem výše uvedeného dotazu bude tabulka uvedená níže:

2: CROSS JOIN

Druhým typem SQL JOIN je CROSS JOIN. Tento typ odpovídá každému řádku od první tabulky ke každému řádku ve druhé tabulce. Přemýšlejte o tom jako o karteziánském produktu, protože výsledkem je sada řádků z tabulky 1, které odpovídají každému řádku v tabulce 2. Například pokud tabulka1 má (a) řádky a tabulka2 má (b) řádky, výsledná tabulka bude mít řádek * b.

POZNÁMKA: Při použití křížových spojů buďte opatrní, protože mají potenciál vést k obrovským sadám tabulek.

Obecná syntaxe křížového spojení je:

VYBERTE sloupce z tabulky1 CROSS JOIN tabulka2;

Zvažte křížové spojení z tabulky uživatele se všemi řádky tabulky rolí. Zvažte níže dotaz SQL:

SELECT * FROM users CROSS JOIN role;

Spuštěním výše uvedeného dotazu bude výsledkem tabulka, jak je uvedeno níže:

3: VLEVO VNĚJŠÍ PŘIPOJENÍ

Poslední spoj, na kterou se podíváme, je VNĚJŠÍ PŘIPOJENÍ. VNĚJŠÍ PŘIPOJENÍ je rozšířením VNITŘNÍHO PŘIPOJENÍ. Stejně jako INNER join, vyjadřujeme to za podmínek, jako je ON, NEUTRAL a USING. Je také dobré si uvědomit, že SQL definuje tři typy VNĚJŠÍCH PŘIPOJENÍ: levý, pravý a plný, ale SQLite podporuje pouze LEFT JOIN.

Levý vnější JOIN vrací všechny řádky z LEVÉ tabulky zadané v podmínce a pouze řádky z jiných tabulek, kde je podmínka spojení pravdivá.

Zvažte následující dotaz.

VYBRAT uživatele.id, uživatelé.jméno, role.role, uživatelé.jazyk OD uživatelů VLEVO VNĚJŠÍ PŘIPOJTE Role ON uživatelů.id = Role.id;

Výsledkem výše uvedeného dotazu bude tabulka uvedená níže:

Závěr

Tento kurz ilustroval, jak provádět spojení SQL v SQLite a vytvářet nové tabulky s upravenými informacemi. Je dobré experimentovat s SQL JOIN, protože při práci s databázemi jsou velmi užitečné.

Děkuji za přečtení!

Hry Nejlepší hry pro ruční sledování
Nejlepší hry pro ruční sledování
Oculus Quest nedávno představil skvělou myšlenku ručního sledování bez ovladačů. S neustále se zvyšujícím počtem her a aktivit, které provádějí podpor...
Hry Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Hraní her na celou obrazovku nebo používání aplikací v režimu celé obrazovky bez rozptýlení vás mohou odříznout od příslušných systémových informací v...
Hry Top 5 karet pro zachycení hry
Top 5 karet pro zachycení hry
Všichni jsme viděli a milovali streamování her na YouTube. PewDiePie, Jakesepticye a Markiplier jsou jen někteří z nejlepších hráčů, kteří vydělali mi...