Sqlite indre sammenføyning

Sqlite indre sammenføyning
“Den indre sammenføyningskommandoen i SQLite -spørsmål trekker ut alle oppføringer fra begge spesifiserte tabeller for å dukke opp i utdataene, og derfor, hvis begge poster tilfredsstiller On -kommandoens krav. Når man integrerer data fra flere tabeller, må en bruker spesifisere hvordan oppføringer fra en tabell kan sammenlignes med data fra en annen tabell. For å korrelere data innen to tabeller, brukes ON -uttalelsen. Den indre sammenkomstkommandoen blir sammen med postene sammen.”Vi vil se hvordan vi kan bruke den indre sammenføyningskommandoen i forskjellige spørsmål i denne artikkelen.

Bruk Create Query

Vi oppretter den første tabellen som heter RND ved å bruke en Create Query. Her representerer RND “Research and Development” -avdelingen i et selskap. Vi erklærer forskjellige attributter i denne tabellen. Attributtene viser dataene til forskjellige ansatte som jobber i RND -avdelingen. Attributtene til tabellen inkluderer ID, navn, by, rang, alder og lønn.

Lag tabell RND (
ID heltall primærnøkkel,
Navn tekst,
Bytekst,
Rangertekst,
Alder numerisk,
Lønns numerisk
);

Utgangen viser utførelsen av spørringen ovenfor uten feil.

I neste trinn har vi brukt en Create Query for å opprette en andre tabell, som vil bli kalt QA. QA står for selskapets kvalitetssikringsavdeling. Vi spesifiserer tabellens flere parametere. Attributtene lagret informasjonen om flere ansatte i QA -avdelingen. Attributtene har forskjellige datatyper. Attributt -IDen har en heltalldatatype, kolonnens navn, by og rangering har en tekstdatatype, og attributtene alder og lønn har en numerisk datatype.

Lag tabell QA (
ID heltall primærnøkkel,
Navn tekst,
Bytekst,
Rangertekst,
Alder numerisk,
Lønns numerisk
);

Vi opprettet vellykket bordet til QA.

Bruk Sett inn spørring

Etter å ha opprettet tabellene, må vi nå sette inn verdiene i kolonnene i tabellen. Så først har vi brukt innsatsspørsmålet for å sette inn verdiene i tabellen RND.

Sett inn i RND (ID, navn, by, rang, alder, lønn) verdier (503, 'Saim', 'Karachi', 'Manager', '32', '90000'),
(697, 'Shazain', 'Islamabad', 'CEO', '42', '180000'),
(346, 'Zain', 'Sargodha', 'Developer', '35', '70000')),
(767, 'Daniyal', 'Lahore', 'Operational Manager', '40', '10000');

Resultatet viser at spørringen for å sette inn verdier i en tabell 'RND' utføres uten noen feil.

Vi har også brukt innsatsspørsmålet for å legge til dataene i alle kolonnene i QA -tabellen. Dataene inkluderer kolonnene til “ID”, “Navn”, “City”, “Rank”, “Age” og “Lønn”.

Sett inn QA (ID, navn, by, rang, alder, lønn) verdier (218, 'Saim', 'Multan', 'Financial Officer', '32', '50000'),
(490, 'Abdan', 'Islamabad', 'Operating Officer', '40', '80000'),
(601, 'Zubair', 'Rawalpindi', 'QA Operator', '38', '70000'),
(845, 'Usama', 'Peshawar', 'Operational Manager', '45', '120000');

Vi satte effektivt inn dataene i tabellen til QA, som vist på figuren.

Bruk velg spørring

I dette trinnet ønsker vi å hente dataene fra kolonnene i tabellen RND. Når vi bruker Select sammen med * -symbolet, returneres de komplette dataene fra den nødvendige tabellen. I en valgt spørring vil vi noen ganger nevne navnene på kolonnene vi ønsker å hente data.

>> Velg * fra RND;

Vi hentet enkelt dataene ved å bruke en SELECT -spørring.

Nå bruker vi SELECT -spørringen på QA -tabellen.

>> Velg * fra QA;

Spørringen returnerer dataene til 4 forskjellige ansatte. Når vi bruker * -symbolet i SELECT -spørringen, så får vi all informasjon om de ansatte.

Bruk den indre sammenføyningsklausulen

Vi vil velge alle kolonner vi ønsker fra de to spesifiserte tabellene i SELECT -spørringen. Den indre sammenføyningserklæringen er lagt til like etter at fra uttalelsen refererer til det første datasettet. Etter det brukes ON. Aliaser for refererte tabeller kan være gitt. Vi kan utelate det indre uttrykket og bare gå inn i Join.

Vi kommer til å koble de to tabellene som heter “RND” og “QA” ved å bruke attributtnavnet i den påfølgende illustrasjonen for å få ID og rangering for hver ansatt i begge avdelinger:

PLUKKE UT
Rnd.Id, rnd.Rang,
QA.Id, QA.Rang
Fra RND
Indre bli med QA på RND.Navn = QA.Navn;

Den indre sammenføyningen returnerer dataene til ansatte som passer til kravet “RND.Navn = QA.Navn ”fra både PND- og QA -tabellene. Uovertruffen oppføringer ville bli avvist og ekskludert fra utfallet. Som et resultat returnerer spørringen ovenfor bare to ansatte fra RND- og QA -avdelingene.

I dette tilfellet vil vi bruke den indre sammenføyningserklæringen på kolonnen "Rank". Det betyr at vi ønsker å få dataene (ID, by og lønn) til de ansatte hvis rang er like i både RND og QA -tabeller.

PLUKKE UT
Rnd.Id, rnd.City, Rnd.Lønn,
QA.Id, QA.City, QA.Lønn
Fra RND
Indre bli med QA på RND.Rank = QA.Rang;

ID 767 fra tabellen RND og ID 845 fra tabellen QA har samme rang eller operasjonsleder. Så den resulterende tabellen inneholder data fra bare disse ansatte.

Bruk indre sammenføyning med å bruke klausul

Den indre sammenføyningen kan komme til uttrykk med det "bruk" nøkkelordet for å redusere redundans. Når kolonnene i tabellen vi ønsker å undersøke i sammenføyningstilstanden har nesten et lignende navn, vil vi bruke "Inner sammenføyning sammen med å bruke klausul". I denne typen situasjoner er det ikke nødvendig å bruke ON -leddet igjen; Bare nevn attributtet etter bruksklausulen.

Vi kobler de to tabellene, RND og QA, med byattributtet i dette eksemplet for å hente ID, navn og lønn for hver ansatt:

PLUKKE UT
Rnd.Id, rnd.Navn, Rnd.Lønn,
QA.Id, QA.Navn, QA.Lønn
Fra RND
Indre bli med QA ved bruk av (by);

SQLite indikerer dynamisk sammenføyningstilstanden og matcher byen fra RND- og QA -tabeller.

I dette scenariet bruker vi bruk av klausulen for å utføre en indre sammenføyningskommando til kolonnen “Age.”I både RND- og QA -databasene ønsker vi å hente postene til de ansatte som har samme alder.

Vi ville ikke spesifisere en sammenføyningsbetingelse med “Inner Join Bruker”; Vi erklærer bare sammenføyningskolonnen som er identisk med de to nødvendige tabellene.

PLUKKE UT
Rnd.Navn, Rnd.Lønn, RND.Rang,
QA.Navn, QA.Lønn, QA.Rang
Fra RND
Indre bli med QA ved bruk av (alder);

Utgangen fra spørringen vises nedenfor.

Bruk indre sammenføyning med hvor klausulen

Vi bruker også den indre sammenføyningsklausulen med WHERE -leddet.

ON -klausulen sier i dette tilfellet at lønnskolonnen i både RND- og QA -tabellene må være lignende verdi. Så fordi kravet til On -kommandoen mislyktes, hvis lønnen ikke vil være til stede i både “RND og QA” -tabellene, vil ikke posten vises i utgangen. Bare ansatte med rang som utvikler vil kunne involvere i sammenføyningsklausulen.

PLUKKE UT
Rnd.Navn, Rnd.City, Rnd.Rang,
QA.Navn, QA.City, QA.Rang
Fra RND
Indre bli med QA
På RND.Lønn = QA.Lønn
Hvor rnd.Rang = 'utvikler';

De ansatte som ikke oppfyller tilstanden som er nevnt i spørringen ovenfor, er ikke inkludert i denne tabellen. Bare to ansatte har samme lønn.

Konklusjon

I denne artikkelen har vi snakket om å bruke den indre Join -kommandoen i SQLite -spørsmål. Ved hjelp av flere eksempler på den indre sammenkoblingsklausulen, har denne artikkelen illustrert oss den grunnleggende strukturen, når og hvordan man bruker den indre sammenføyningsklausulen med andre forskjellige klausuler. Den indre sammenføyningserklæringen brukes til å spørre verdier fra flere tabeller. Kommandoen i indre sammenføyning blir med til Associated Tables 'attributter.