Lag et bord
Vi må lage to separate tabeller og vil utføre forskjellige spørsmål.
Så etter å ha opprettet databasen, må vi opprette den første tabellen. Vi har brukt "opprette" spørringen for å lage en tabell. Bordet som er opprettet i dette trinnet er “Kunde.”I spørringen om“ Create ”, definerer vi kolonnens navn og deres datatyper. Tabellen "Kunden" har 6 kolonner (C_ID, navn, by, kjøpt_produkt, pris og kjøp_dato). Disse attributtene har datatyper, inkludert heltall, tekst og numerisk.
Lag tabellkunde (Spørringen om “Opprett” utføres vellykket.
Det er nå på tide å lage et annet bord. For å lage en tabell har vi brukt "Opprett" spørringen. "Leverandør" ville være den andre tabellen som ble opprettet i denne fasen. Det er seks forskjellige oppføringer, inkludert S_ID, navn, by, kjøpt produkt, pris og kjøpsdato, i "leverandør" -tabellen. Heltall, tekst og numeriske datatyper er noen av datatypene som er tilgjengelige for disse elementene.
Lag bordleverandør (Utgangen viser at spørringen ovenfor ble utført uten feil.
Sett inn dataene
Neste trinn er å legge til forskjellige verdier i kolonnene i tabellen “Kunde.”
Sett inn kunde (C_ID, navn, by, kjøpt_produkt, pris, kjøp_date)Resultatet indikerer at spørringen for å legge til data i "kunde" -tabellen ble implementert effektivt.
Spørringen om innsats vil bli brukt for å sette inn innholdet i tabellen "leverandør" -tabell. Vi har lagt til verdiene til ID -er, navn, byer, produkter, priser og forsyningsdatoer for forskjellige leverandører i denne tabellen.
Sett inn leverandør (S_ID, navn, by, levert_produkt, pris, forsyning_date)Dataene settes inn i tabellen ved å kjøre spørringen ovenfor.
Bruk velg spørring
For å hente innholdet i alle kolonnene i den nødvendige tabellen, må vi bruke SELECT -spørringen sammen med '*' -symbolet. Hver gang vi ønsker å skaffe dataene til noen få kolonner fra tabellen, har vi gitt navnene på disse kolonnene i SELECT -spørringen.
>> Velg * fra kunde;Produksjonen viser hele posten til de fire forskjellige kundene.
I dette trinnet har vi brukt SELECT -spørringen for tabellen "leverandør", slik at vi kan få dataene fra denne tabellen. Vi har lagt til * -symbolet med det utvalgte begrepet i spørringen for å hente hele dataene.
>> Velg * fra leverandør;Ved å kjøre den ovennevnte spørringen av Select, henter vi alle verdiene i tabellen “Leverandør.”
Bruk venstre ytre sammenføyning
Venstre sammenføyning og den ytre sammenføyningen fungerer nesten på samme måte. I venstre ytre sammenføyning, her, vil alle oppføringer av kolonnene vi velger fra den andre tabellen bli integrert i spørringens utgang, uavhengig av om dataene tilfredsstiller det gitte kravet til ytre sammenføyning eller ikke. Hvis den andre tabellen inneholder “N” -oppføringer, vil spørringsutgangen også ha “N” -oppføringer. Dataene fra kolonnene i den første tabellen, derimot, vil ha en "null" -verdi om noe element ikke oppfylte kravet til ytre sammenføyning.
Som et resultat vil returverdien i høyre sammenføyning være lik returverdiene i venstre sammenføyning. Derfor kan vi ha de tilsvarende radene med begge de spesifiserte tabellene, så vel som de ikke-matchende oppføringene på den andre tabellen, som vist i de foregående resultatene.
Vi bruker "venstre sammen" for å slå sammen to tabeller "kunde" og "leverandør" i dette eksemplet:
PLUKKE UTI dette tilfellet blir venstre sammen med både "kunde" og "leverandør" -tabeller skrevet først i en spørring, og Koblingskriteriet er skrevet like etter uttalelsen. Venstre tabell (leverandør) vil være den første tabellen etterpå, fra uttalelsen. Høyre tabell (kunde) er den andre tabellen som er gitt videre til venstre sammen. Vi har brukt betingelsen for å bli med på kolonnen "by" for begge tabellene.
Spørringen kjører og returnerer dataene, som vist i tabellen.
Bruk kors ytre sammenføyning
Ved å sammenligne alle oppføringene i den første tabellen, "Kunde" med alle verdiene på den andre tabellen, "Leverandør", returnerer et kryss som returnerer postene i tabellen for verdiene som er tilordnet disse to koblede tabellene.
Vi trenger ikke å definere et sammenføyningskrav ved hjelp av kryssforbindelse, i motsetning til Venstre ytre sammenføyning, da SQLite ikke ville kreve det. Ved å slå sammen omtrent alle dataene fra den første posten, "kunde", sammen med alle oppføringene fra den andre tabellen, "leverandør", ville spørringen gi rimelige resultater.
PLUKKE UTI denne situasjonen ga vi bare to attributter, "navn" og "pris" fra både "kunden" og "leverandør" -tabeller i SELECT -spørringen. I den andre tabellen er "leverandør" gitt som parameter til Cross Join -leddet.
Som vi har sett, inneholder den resulterende tabellen fire rader; Hver rad i "leverandør" -tabellen tilsvarer en post i "kunde" -tabellen. Her vil vi ikke gi noen krav til sammenføyning i Cross Join -leddet, ganske enkelt de to tabellene sammenkoblet ved å bruke Cross Join i midten.
Bruk naturlig venstre ytre sammenføyning
For databasetabellen bruker den naturlige venstre ytre sammenføyningen alle de matchede feltnavnene.
Vi bruker den naturlige venstre ytre sammenføyningsklausulen for å oppfylle en betingelse på tabellen "leverandør" i dette scenariet. Det vil si at vi ønsker å skaffe dataene fra kolonnene fra både "kunden" og "leverandør" -tabeller. Vi vil ikke gi en kolonne her; I stedet oppgir vi tabellen som heter "leverandør" etter å ha brukt Join -leddet.
Velg kunde.By, kunde.Kjøpsdato,Den foregående spørringen indikerer resultatet som inneholder dataene (by og forsyning_dato) for begge kolonnene.
Konklusjon
Vi diskuterte detaljene om en ytre sammenføyning i SQLite -spørringen i denne artikkelen. Denne artikkelen har demonstrert mange typer av den ytre sammenføyningsklausulen og hvordan de kan bruke dem ved hjelp av flere tilfeller av Outer Join -leddet. Oppføringene fra venstre tabell vil bli opprettholdt av en venstre ytre sammenføyning. SQLite -spørringen undersøker hver rad i tabellen, sjekker om det nødvendige er oppfylt, og henter de matchende feltene. Det gir null for alle motstridende rader.