SQLite

Táblák összekapcsolása az SQLite-ben

Táblák összekapcsolása az SQLite-ben
Előfordulhat, hogy az adatbázisokkal való munka során egyes adatbázisok tábláinak rekordjait kell összekapcsolnunk. Ebben az esetben használhatjuk az SQL JOIN utasítást, amely egyesíti a megadott mezőket az egyes mezők közös értékeivel.

Az SQLite csatlakozásoknak három fő típusa van.

  1. A KERESZTŐ CSATLAKOZÁS
  2. BELSŐ ÖSSZEKAPCSOLÁS
  3. BAL KÜLSŐ CSATLAKOZÁS

Ez az oktatóanyag végigvezeti Önt az SQLite-csatlakozásokon, és megmutatja, hogyan kell csatlakozni az adatbázis-rekordokhoz.

Kezdjük a BELSŐ CSATLAKOZással, mivel ez egyszerű és megalapozza a többi JOIN típus megértését.

1: A BELSŐ CSATLAKOZÁS

Az INNER JOIN új tábla létrehozásával működik a megadott táblák értékeinek kombinálásával. Azzal kezdődik, hogy összehasonlítja az egyes táblázatok sorát, és megtalálja az összes megfelelő párot a megadott predikátum szerint. Ezután az egyező párokat egyetlen sorba egyesíti.

Az INNER JOIN általános szintaxisa:

OSZLOP KIVÁLASZTÁSA AZ 1. táblázatból INNER JOIN 2. táblázat ON 1. táblázat.oszlop = 2. táblázat.oszlop;

Nézzük meg a JOIN műveletet, hogy bemutassuk annak működését.

Tegyük fel, hogy van egy táblája, amelynek felhasználói nevű mezői vannak: azonosító, név, életkor, nyelvminta SQL lekérdezés tábla létrehozásához:

CREATE TABLE "felhasználók" (
"id" INTEGER NULL,
"név" TEXT NOT NULL,
"kor" INTEGER NEM NULL,
"nyelv" SZÖVEG,
ELSŐDLEGES KULCS ("id" AUTOINCREMENT)
);

Van még egy táblánk, az úgynevezett sorok, az alábbiakkal megadva az id mezőket és a szerepkör-SQL lekérdezést:

"SZEREPEK" TÁBLÁZAT LÉTREHOZÁSA
"id" INTEGER NULL,
"szerep" SZÖVEG,
ELSŐDLEGES KULCS ("id" AUTOINCREMENT)
)

Most futtathatunk egy SQLite INNER JOIN műveletet az alábbi lekérdezés segítségével:

SELECT felhasználók.id, felhasználók.név, Szerepek.szerep a felhasználóktól BELSŐ CSATLAKOZÁS A felhasználók szerepe.id = Szerepek.id;

A fenti lekérdezés az alábbi táblázatot eredményezi:

2: A KERESZTŐ CSATLAKOZÁS

Az SQL JOIN másik típusa a CROSS JOIN. Ez a típus az első táblázat minden egyes sorához illeszkedik a második táblázat minden sorához. Gondoljon rá derékszögű termékre, mert az eredmények az 1. táblázat sorainak sorai, a 2. táblázat minden sorával egyeztetve. Például, ha az 1. táblázatban (a) és a 2. táblázatban (b) sorok találhatók, akkor az eredményül kapott táblázatnak * b sora lesz.

JEGYZET: Legyen körültekintő, ha keresztösszekötéseket használ, mivel ezek óriási asztalkészleteket eredményezhetnek.

A keresztcsatlakozás általános szintaxisa:

SELECT oszlop (ok) FROM1 táblázat CROSS JOIN tábla2;

Vegyünk egy keresztkötést a felhasználói táblázatból a szerepkörök táblázatának minden sorával. Vegye figyelembe az alábbi SQL lekérdezést:

SELECT * FROM users CROSS JOIN szerepek;

A fenti lekérdezés futtatásával az alábbi táblázat jelenik meg:

3: A BAL KÜLSŐ CSATLAKOZÁS

Az utolsó csatlakozás, amelyet megnézünk, a KÜLSŐ CSATLAKOZÁS. A KÜLSŐ CSATLAKOZÁS a Belső Csatlakozás kiterjesztése. Az INNER csatlakozáshoz hasonlóan mi is kifejezzük olyan feltételekkel, mint ON, NEUTRAL és USING. Jó megjegyezni azt is, hogy az SQL három típusú OUTER JOINS-t határoz meg: bal, jobb és teljes, de az SQLite csak a LEFT JOIN -t támogatja.

A BAL külső JOIN visszaadja a feltételben megadott LEFT táblázat összes sorát, és csak azokat a táblázatokat, amelyekben igaz az összekapcsolt feltétel.

Vegye figyelembe a következő lekérdezést.

SELECT felhasználók.id, felhasználók.név, szerepek.szerep, felhasználók.nyelv FROM felhasználóktól BAL OUTER JOIN Szerepek a felhasználókon.id = Szerepek.id;

A fenti lekérdezés az alábbi táblázatot eredményezi:

Következtetés

Ez az oktatóanyag bemutatja, hogyan kell végrehajtani az SQL csatlakozásokat az SQLite-ben, és hogyan lehet új táblákat létrehozni módosított információkkal. Jó folytatni az SQL JOIN-okkal való kísérletezést, mivel ezek nagyon jól jönnek az adatbázisokkal való munkavégzés során.

Köszönöm, hogy elolvasta!

A legjobb 10 játék az Ubuntuban
A Windows platform a játékok egyik domináns platformja volt, mivel a játékokat hatalmas százalékban fejlesztik ma a natív Windows támogatására. Kihívh...
5 legjobb arcade játék Linuxhoz
Manapság a számítógépek komoly gépek, amelyeket játékra használnak. Ha nem sikerül megszerezni az új magas pontszámot, akkor tudni fogja, mire gondolo...
Csata a Wesnothért 1.13.6 Megjelent a fejlesztés
Csata a Wesnothért 1.13.A múlt hónapban megjelent 6 a hatodik fejlesztési kiadás az 1-ben.13.x sorozat, és számos fejlesztést hajt végre, nevezetesen ...