Az SQLite csatlakozásoknak három fő típusa van.
- A KERESZTŐ CSATLAKOZÁS
- BELSŐ ÖSSZEKAPCSOLÁS
- 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!