SQLite

Kuidas liita tabeleid SQLite'is

Kuidas liita tabeleid SQLite'is
Mõnikord peame andmebaasidega töötades ühendama andmebaasidest tabelite kirjed. Sel juhul saame kasutada käsku SQL JOIN, mis ühendab määratud väljad, kasutades igas valdkonnas ühiseid väärtusi.

SQLite'i liitumisi on kolm peamist tüüpi.

  1. RIST ÜHENDU
  2. SISSE LIITU
  3. VASEM VÄLIS LIITUMINE

See õpetus tutvustab teid kiiresti nende SQLite liitumistega ja näitab, kuidas andmebaasikirjetega liituda.

Alustame sisemisest liitumisest, kuna see on lihtne ja loob meile aluse teiste JOIN-tüüpide mõistmiseks.

1: SISEMINE LIITUMINE

INNER JOIN töötab uue tabeli loomisega, ühendades määratud tabelite väärtused. Alustuseks võrreldakse iga tabeli rida ja leitakse kõik sobivad paarid määratud predikaadis. Seejärel ühendab see sobivad paarid ühte rida.

INNER JOINi üldine süntaks on järgmine:

VALI veerg (ed) tabelist 1 SISE LIITU tabel 2 PÕHJAL tabel1.veerg = tabel2.veerg;

Vaatame JOIN-toimingut, et illustreerida selle toimimist.

Oletame, et teil on tabel nimega kasutajad väljadega: allpool on tabeli loomiseks id, nimi, vanus, keelenäidise SQL-päring:

LOE TABEL "kasutajad" (
"id" INTEGRE NOT NULL,
"nimi" TEKST EI NULL,
"vanus" INTEGRE NOT NULL,
"keel" TEKST,
PÕHIVÕTI ("ID" AUTOINCREMENT)
);

Meil on ka teine ​​tabel, mida nimetatakse ridadeks, väljad id ja roll-SQL päring allpool:

LOE TABEL "Rollid" (
"id" INTEGRE NOT NULL,
"roll" TEKST,
PÕHIVÕTI ("ID" AUTOINCREMENT)
)

Nüüd saame käivitada SQLite INNER JOIN toimingu, kasutades allpool näidatud päringut:

SELECT kasutajad.id, kasutajad.nimi, rollid.roll kasutajatelt SISSE LIITUMINE Kasutajate rollid.id = rollid.id;

Ülaltoodud päringu tulemuseks on allpool toodud tabel:

2: RIST ÜHINEMINE

SQL JOINi teine ​​tüüp on CROSS JOIN. See tüüp sobib iga rea ​​esimesest tabelist teise rea iga reaga. Mõelge sellele kui ristkülikukujulisele tootele, sest tulemused on tabeli 1 ridade komplekt, mis sobib iga tabeli 2 reaga. Näiteks kui tabelis1 on (a) ridu ja tabelis2 (b) rida, on tulemuseks tabelis rida * b.

MÄRGE: Ristühenduste kasutamisel olge ettevaatlik, kuna need võivad põhjustada tohutuid lauakomplekte.

Ristühenduse üldine süntaks on:

VALI veerg (ed) FROM table1 CROSS JOIN tabel2;

Mõelge kasutaja tabeli ristliitmikule kõigi rollitabeli ridadega. Mõelge allpool olevale SQL-päringule:

SELECT * kasutajate hulgast RISTIGE LIIDU rollid;

Ülaltoodud päringu käivitamisel saadakse tabel, nagu allpool näidatud:

3: VASAK VÄLIS LIITUMINE

Viimane liitumine, mida vaatame, on VÄLISLIITUMINE. OUTER JOIN on sisemise liitumise pikendus. Nagu INNER-i liitumine, väljendame seda ka sellistes tingimustes nagu ON, NEUTRAL ja KASUTAMINE. Samuti on hea märkida, et SQL määratleb kolm tüüpi VÄLISLIITUMISI: vasak, parem ja täis, kuid SQLite toetab ainult VASAKU LIITUMIST.

VASAK välimine JOIN tagastab tingimuses määratud VASAKU tabeli kõik read ja ainult teiste tabelite read, kus ühendatud tingimus on tõene.

Mõelge järgmisele päringule.

SELECT kasutajad.id, kasutajad.nimi, rollid.roll, kasutajad.keel kasutajatelt VASAK VÄLJU LIITU Rollid kasutajatel.id = rollid.id;

Ülaltoodud päringu tulemuseks on allpool toodud tabel:

Järeldus

See õpetus on illustreerinud, kuidas SQLite-i liitumisi SQLite-is teha ja uusi tabeleid luua muudetud teabega. Hea on jätkata SQL JOIN-ide katsetamist, kuna need on andmebaasidega töötamisel väga kasulikud.

Täname lugemast!

Parimad mängud, mida saab mängida käte jälgimisega
Oculus Quest tutvustas hiljuti suurepärast ideed käsitsi jälgimisest ilma kontrolleriteta. Üha suurema hulga mängude ja tegevustega, mis toetavad kas ...
Kuidas kuvada OSD ülekatet täisekraanil Linuxi rakendustes ja mängudes
Täisekraaniga mängude mängimine või rakenduste kasutamine häireteta täisekraanirežiimis võib teid paneelil või tegumiribal kuvatavast asjakohasest süs...
Viis parimat mängu püüdmise kaarti
Me kõik oleme YouTube'is voogesituse mänge näinud ja armastanud. PewDiePie, Jakesepticye ja Markiplier on vaid mõned tipptasemel mängijatest, kes on t...