ComputereProgrammering

Operatør SQL INNER JOIN: eksempler på syntaks og funktioner

Udvikling enhver database indeholder ikke kun oprettelsen og påfyldning af tabeller med forskellige oplysninger, men også det videre arbejde med dataene. For at udføre korrekt en lang række opgaver på valg af data fra tabeller og rapportering, bruge standard Select design.

Hent data fra tabeller

Hvis vi betragter problemet med valg af data eller opførelse af en rapport, kan du bestemme graden af kompleksitet af operationen. Som regel, når der beskæftiger sig med alvorlige (ifølge volumen) databaser, som er dannet, for eksempel i online-butikker eller store virksomheder, udvælgelse af data er ikke begrænset til et enkelt bord. Som regel kan prøven være fra et ret stort antal ikke kun sammenkædede tabeller, men også indlejrede forespørgsler / sub-forespørgsler, hvilket gør programmøren, afhængigt af dens opgave. For en prøve af én tabel kan bruge den simpleste struktur:

Vælg * fra Person

hvor Person - navnet på den tabel, hvorfra du ønsker at gøre hentning af data.

Men hvis du bliver nødt til at vælge data fra flere tabeller, kan en af de standard design bruges til at slutte flere borde.

tilslutning af ekstra borde Metoder

Hvis vi overveje brugen af sådanne strukturer på det primære niveau, kan vi skelne mellem følgende mekanismer til at forbinde det nødvendige antal for prøven tabeller, nemlig:

  1. Operatør Inner Deltag.
  2. LEFT JOIN eller er det den anden optagelse metode, Venstre Ydre Deltag.
  3. Cross Deltag.
  4. Fuld Deltag.

Brug operatørerne til at deltage tabeller i praksis, kan du lære ved at overveje brugen af SQL-sætningen - Indre Deltag. Et eksempel på anvendelsen af det ville være som følger:

Vælg * fra Person

Indvendig slutte Underopdeling på Su_Person = Pe_ID

Sprog SQL og Join Indre Deltag operatør kan bruges ikke kun til at kombinere to eller flere tabeller, men også til at forbinde de andre sub-forespørgsler, hvilket i høj grad letter arbejdet for database administratorer, og som regel kan fremskynde gennemførelsen af specifikke, komplicerede forespørgsel strukturer.

Ved at kombinere data på tabeller linje for linje

Hvis vi betragter tilslutning af et stort antal af sub-forespørgsler, og data samles i en enkelt tabel linje for linje, kan du også bruge operatørerne Unionens og EU-All.

Brugen af disse strukturer vil afhænge af udvikleren til at sætte mål og de resultater, som han ønsker at opnå i sidste ende.

Beskrivelse Indvendig Deltag operatør

I de fleste tilfælde, at kombinere flere tabeller i SQL sprog, der anvendes af Inner Deltag operatør. Beskrivelse Indvendig Deltag i SQL er ganske let at forstå den gennemsnitlige programmør, der er lige begyndt at forstå databaserne. Hvis vi ser på beskrivelsen af den mekanisme for arbejdet i denne struktur, får vi følgende billede. Logikken operatør som helhed er bygget på passage og muligheden for prøveudtagning kun de data, der er i hver af tabellerne i forespørgslen.

Hvis vi ser på denne form for arbejde i form af grafisk fortolkning, vi får SQL Inner Deltag operatør struktur, hvoraf et eksempel kan vises ved følgende skema:

For eksempel har vi to borde, skematisk vist i figuren. De, til gengæld har et forskelligt antal poster. I hver af tabellerne har felter, der er relateret. Hvis vi forsøger at forklare det arbejde, som operatør på grundlag af tegningen, vil det returnerede resultat være et sæt af poster fra to tabeller, hvor værelserne er indbyrdes forbundne felter er sammenfaldende. Kort sagt, den forespørgsel returnerer kun de poster (i tabel nummer to), hvis data er i nummer et bord.

Syntaksen af den indre sammenkædning

Som tidligere nævnt, operatøren indre sammenkædning, nemlig dens syntaks usædvanligt enkel. Ved tilrettelæggelse af relationer mellem tabeller i en enkelt prøve vil være tilstrækkeligt til at huske og bruge følgende diagram for konstruktionen af operatøren, som er foreskrevet i en enkelt linje af software SQL-kode, nemlig:

  • Indvendig Deltag [Tabel navn] på [et centralt felt i tabellen for at der forbinde] = [plug nøglefelt af bordet].

Til kommunikation i denne erklæring er primært brugte borde nøgler. Som regel i gruppen af tabeller, der lagrer oplysninger om medarbejdere, tidligere beskrevne Person underafsnit og har mindst én tilsvarende post. Så tag et nærmere kig operatøren SQL Indre Deltag, hvoraf et eksempel er vist lidt tidligere.

EKSEMPEL beskrivelse og forbindelse til lydsamplen bordet

Vi har en person tabel, som lagrer oplysninger om alle de ansatte, der arbejder i virksomheden. Lige bemærke, at hovednøglen af bordet er et felt - Pe_ID. Lige på det og vil gå et bundt.

Den anden tabel underafsnit vil gemme oplysninger om de kontorer, hvor medarbejderne arbejder. Hun, til gengæld er forbundet via Su_Person felt Person bordet. Hvad betyder det? Baseret på data-skema kan siges, at i tabellen enheder for hver post i tabellen "Medarbejdere" vil være information om afdelingen, hvor de arbejder. Det er af denne kommunikation og vil arbejde operatør Indre Deltag.

For en mere intuitiv brug af overveje operatøren SQL indre sammenkædning (eksempler på dets anvendelse for en eller to tabeller). Hvis vi betragter eksemplet med det samme bord, så alt er ganske enkel:

Vælg * fra Person

Indvendig slutte Underopdeling på Su_Person = Pe_ID

EKSEMPEL forbinde de to tabeller og underforespørgsel

Operatør SQL Inner join, eksempler herpå er brug for at hente data fra flere tabeller kan arrangeres på den ovennævnte måde, det arbejder på en lille komplikation af princippet. For at komplicere opgaven med de to tabeller. For eksempel har vi Depart tabel, der gemmer oplysninger om alle afdelingerne i de enkelte divisioner. I denne tabel indspillede division nummer og medarbejder nummer, og skal suppleres med navnet på prøve data i hver enkelt afdeling. Fremadrettet er det værd at sige, at du kan bruge to metoder til at løse dette problem.

Den første måde er at forbinde afdelingen bordet for at prøve. Organiser anmodning i dette tilfælde kan være som følger:

Vælg Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name fra Person

Indvendig slutte Underopdeling på Su_Person = Pe_ID

Indvendig slutte Afrejse om Su_Depart = Dep_ID og Pe_Depart = Dep_ID

Den anden metode til at løse problemet - er at bruge en underforespørgsel, hvor ikke alle data vil blive udvalgt fra afdelingen bordet, men kun det nødvendige. Dette er i modsætning til den første metode, vil det reducere den tid af anmodningen.

Vælg Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name fra Person

Indvendig slutte Underopdeling på Su_Person = Pe_ID

Indvendig slutte (Select Dep_ID, Dep_Name, Pe_Depart fra Depart) som T på Su_Depart = Dep_ID og Pe_Depart = Dep_ID

Det er værd at bemærke, at et sådant arrangement ikke altid kan fremskynde anmodningen arbejde. Nogle gange er der tilfælde, hvor det er nødvendigt at anvende en ekstra prøve data til en midlertidig tabel (med volumen for stor), og det blev derefter kombineret med hovedstikprøven.

Eksempel på brug Inner Opret operatør at prøver fra et stort antal tabeller

Konstruktionen indebærer anvendelse af komplekse forespørgsler for prøven betydelige mængder af data tabeller og underforespørgsler indbyrdes forbundet. Disse krav kan tilfredsstille SQL Indre Deltag syntaks. Eksempler på anvendelsen af operatøren, i dette tilfælde kan være kompliceret ikke kun prøver af de mange storage steder, men også med et stort antal af indlejrede underforespørgsler. For et konkret eksempel, kan du tage data fra en prøve af systemtabeller (Indre Deltag SQL-sætning). Eksempel - 3 i skemaet - i dette tilfælde vil have en temmelig kompleks struktur.

I dette tilfælde forbundet (den primære tabel) og tre yderligere indført flere udvælgelsesdata betingelser.

Ved brug af Indre Deltag bør operatøren huske, at jo mere kompleks forespørgslen, jo længere vil blive gennemført, så du bør se på mulighederne for at hurtigere udføre og løse problemet.

konklusion

I sidste ende, vil jeg gerne sige én ting: arbejde med databaser - det er ikke de mest vanskelige ting i programmering, så hvis du ønsker hver enkelt person vil være i stand til at tilegne sig viden til at opbygge en database, og over tid, få erfaring, får du til at arbejde med dem på et professionelt niveau .

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 da.delachieve.com. Theme powered by WordPress.