Hvordan bli med tabeller i SQLite

Hvordan bli med tabeller i SQLite
Noen ganger når vi jobber med databaser, kan det hende vi må delta i poster fra tabeller i en database. Når det er tilfelle, kan vi bruke SQL Join -setningen som kombinerer de spesifiserte feltene ved å bruke vanlige verdier i hvert felt.

Det er tre hovedtyper av SQLite -sammenføyninger.

  1. Korset blir med
  2. Indre sammenføyning
  3. Venstre ytre sammenføyning

Denne opplæringen vil raskt lede deg gjennom disse SQLite -sammenføyningene og vise deg hvordan du blir med i databaseposter.

La oss starte med den indre sammenføyningen som det enkelt og bygger et grunnlag for oss å forstå andre sammenføyningstyper.

1: Den indre sammenføyningen

Den indre sammenføyningen fungerer ved å lage en ny tabell ved å kombinere verdiene til de spesifiserte tabellene. Det starter med å sammenligne raden på hver tabell og finne alle matchende par per det spesifiserte predikatet. Den kombinerer deretter matchende par til en enkelt rad.

Den generelle syntaksen for indre sammenføyning er:

Velg kolonne (er) fra tabell1 indre sammenføyning Tabell2 på tabell1.kolonne = tabell2.kolonne;

La oss se på en Join -operasjon for å illustrere hvordan den fungerer.

Anta at du har en tabell som heter brukere med felt: ID, navn, alder, språkprøve SQL-spørring for å lage tabell er nedenfor:

Lag tabellen "Brukere" (
"id" helt tall ikke null,
"Navn" tekst ikke null,
"Alder" Heltall ikke null,
"Språk" tekst,
Primærnøkkel ("ID" autoincrement)
);

Vi har også en annen tabell som heter rader med Fields ID, og ​​Roll-SQL-spørring gitt nedenfor:

Lag tabell "roller" (
"id" helt tall ikke null,
"Roll" -tekst,
Primærnøkkel ("ID" autoincrement)
)

Nå kan vi kjøre en sqlite indre sammenføyningsoperasjon ved å bruke spørringen som er vist nedenfor:

Velg brukere.ID, brukere.Navn, roller.rolle fra brukere indre roller på brukere.ID = roller.id;

Ovennevnte spørring vil resultere i tabellen vist nedenfor:

2: Korset blir med

Den andre typen SQL Join er Cross Join. Denne typen samsvarer med hver rad fra den første tabellen til hver rad i den andre tabellen. Tenk på det som et kartesisk produkt fordi resultatene er et sett med rader fra tabell 1 matchet med hver rad på tabell 2. For eksempel, hvis tabell1 har (a) rader og tabell2 har (b) rader, vil den resulterende tabellen ha en*b rad.

MERK: Vær forsiktig når du bruker Cross -sammenføyninger, da de har potensial til å resultere i enorme bordsett.

Den generelle syntaksen for en kryssforbindelse er:

Velg kolonne (er) fra tabell1 Kryss med tabell2;

Tenk på et kryss som blir med fra brukerens tabell med alle rader med rolletabellen. Tenk på SQL -spørringen nedenfor:

Velg * fra brukere krysser sammen roller;

Å kjøre spørringen ovenfor vil resultere i en tabell som vist nedenfor:

3: Venstre ytre blir med

Den siste sammenføyningen vi skal se på er den ytre sammenføyningen. Den ytre sammenføyningen er en forlengelse av den indre sammenføyningen. Som indre sammenføyning, uttrykker vi det på forhold som på, nøytral og bruker. Det er også bra å merke seg at SQL definerer tre typer ytre sammenføyninger: venstre, høyre og full, men SQLite støtter bare venstre sammen.

Venstre ytre sammenføyning returnerer alle rader fra venstre tabell som er spesifisert i tilstanden, og bare radene fra andre tabeller der den sammenføyede tilstanden er sann.

Tenk på følgende spørsmål.

Velg brukere.ID, brukere.Navn, roller.rolle, brukere.Språk fra brukere forlot ytre roller på brukere.ID = roller.id;

Ovennevnte spørring vil resultere i tabellen vist nedenfor:

Konklusjon

Denne opplæringen har illustrert hvordan du utfører SQL -sammenføyninger i SQLite og lager nye tabeller med modifisert informasjon. Det er bra å fortsette å eksperimentere med SQL -sammenføyninger når de kommer veldig nyttig når de jobber med databaser.

Takk for at du leser!