SQLite

Hur man går med i tabeller i SQLite

Hur man går med i tabeller i SQLite
Ibland när vi arbetar med databaser kan vi behöva gå med i poster från tabeller i en databas. När så är fallet kan vi använda SQL JOIN-satsen som kombinerar de angivna fälten med gemensamma värden i varje fält.

Det finns tre huvudtyper av SQLite-anslutningar.

  1. CROSS JOIN
  2. INRE KOPPLING
  3. VÄNSTER YTTRE GÅNG

Denna handledning kommer snabbt att gå igenom dessa SQLite-kopplingar och visa dig hur du går med i databasposter.

Låt oss börja med INNER JOIN eftersom det är enkelt och bygger en grund för oss att förstå andra JOIN-typer.

1: DET INRE GÅNGEN

INNER JOIN fungerar genom att skapa en ny tabell genom att kombinera värdena för de angivna tabellerna. Det börjar med att jämföra raden på varje tabell och hitta alla matchande par per angivet predikat. Den kombinerar sedan matchande par i en enda rad.

Den allmänna syntaxen för INNER JOIN är:

VÄLJ kolumn (er) FRÅN tabell1 INNRE JOIN-tabell2 PÅ tabell1.kolumn = tabell2.kolumn;

Låt oss titta på en JOIN-operation för att illustrera hur den fungerar.

Antag att du har en tabell som heter användare med fält: id, namn, ålder, språkexempel SQL-fråga för att skapa tabell är nedan:

SKAPA TABELL "användare" (
"id" INTEGER INTE NULL,
"namn" TEXT INTE NULL,
"age" INTEGER INTE NULL,
"språk" TEXT,
PRIMÄR NYCKEL ("id" AUTOINCREMENT)
);

Vi har också en annan tabell som heter rader med fälten id och roll-SQL-fråga som anges nedan:

SKAPA TABELL "Roller" (
"id" INTEGER INTE NULL,
"roll" TEXT,
PRIMÄR NYCKEL ("id" AUTOINCREMENT)
)

Nu kan vi köra en SQLite INNER JOIN-operation med hjälp av frågan som visas nedan:

VÄLJ användare.id, användare.namn, roller.roll FRÅN användare INNER JOIN Roller PÅ användare.id = Roller.id;

Ovanstående fråga kommer att resultera i tabellen nedan:

2: CROSS JOIN

Den andra typen av SQL JOIN är CROSS JOIN. Denna typ matchar varje rad från den första tabellen till varje rad i den andra tabellen. Tänk på det som en kartesisk produkt eftersom resultaten är en uppsättning rader från tabell 1 matchade med varje rad på tabell 2. Till exempel, om tabell1 har (a) rader och tabell2 har (b) rader, kommer den resulterande tabellen att ha en * b rad.

NOTERA: Var försiktig när du använder tvärfogar eftersom de har potential att resultera i enorma bordssatser.

Den allmänna syntaxen för en cross Join är:

VÄLJ kolumn (er) FRÅN tabell1 CROSS JOIN tabell2;

Tänk på en korsfog från användarens tabell med alla rader i rolltabellen. Tänk på SQL-frågan nedan:

VÄLJ * FRÅN användare CROSS JOIN-roller;

Att köra ovanstående fråga kommer att resultera i en tabell som visas nedan:

3: VÄNSTER YTTRE GÅNG

Den sista föreningen vi ska titta på är OUTER JOIN. OUTER JOIN är en förlängning av INNER JOIN. Precis som INNER-anslutning, uttrycker vi det på villkor som ON, NEUTRAL och USING. Det är också bra att notera att SQL definierar tre typer av OUTER JOINS: vänster, höger och full, men SQLite stöder bara LEFT JOIN.

VÄNSTER yttre JOIN returnerar alla rader från VÄNSTER-tabellen som anges i villkoret och endast raderna från andra tabeller där det sammanfogade villkoret är sant.

Tänk på följande fråga.

VÄLJ användare.id, användare.namn, roller.roll, användare.språk FRÅN användare VÄNSTER OUTER JOIN Roller PÅ användare.id = Roller.id;

Ovanstående fråga kommer att resultera i tabellen nedan:

Slutsats

Denna handledning har illustrerat hur man utför SQL-kopplingar i SQLite och skapar nya tabeller med modifierad information. Det är bra att fortsätta experimentera med SQL JOINs eftersom de är mycket användbara när du arbetar med databaser.

Tack för att du läste!

Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...
Portar med öppen källkod för kommersiella spelmotorer
Gratis, öppen källkod och plattformsmekaniska rekreationer kan användas för att spela gamla såväl som några av de ganska senaste speltitlarna. I den h...
Bästa kommandoradsspel för Linux
Kommandoraden är inte bara din största allierade när du använder Linux, det kan också vara källan till underhållning eftersom du kan använda den för a...