DatamaskinerProgrammering

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

Utvikling av en hvilken som helst databasen inneholder ikke bare etableringen og fylling av tabeller med forskjellig informasjon, men også ytterligere arbeid med dataene. Å riktig utføre en rekke oppgaver ved valg av data fra tabeller og rapportering, bruk standard Select design.

Hente data fra tabeller

Hvis vi ser på problemet med valg av data eller bygging av en rapport, kan du bestemme nivået på kompleksiteten i operasjonen. Som en regel, når håndtere alvorlige (i henhold til volum) databaser, som er dannet, for eksempel, i elektroniske butikker eller store bedrifter, for valg av data er ikke begrenset til et enkelt bord. Som en regel kan prøven være fra et forholdsvis stort antall av ikke bare koblede tabeller, men også nestet spørsmål / sub-spørringer, noe som gjør den programmerer, avhengig av dets oppgave. For et utvalg av en tabell kan bruke den enkleste strukturen:

Select * from person

hvor Person - navnet på tabellen som du ønsker å gjøre innhenting av data.

Hvis, derimot, må du velge data fra flere tabeller, kan en av de standard design brukes til å bli flere tabeller.

tilkobling av ytterligere bord Methods

Hvis vi vurdere bruken av slike strukturer på barnetrinnet, kan vi skille mellom følgende mekanismer for å koble det nødvendige antall for eksempeltabellene, nemlig:

  1. Operatør Indre Bli med.
  2. Venstre Bli med eller er det den andre opptaksmetode, Venstre Ytre Bli med.
  3. Cross Bli med.
  4. Full Bli med.

Ved hjelp av operatører til å bli med tabeller i praksis, kan du lære ved å vurdere bruk av SQL-setningen - Indre Bli med. Et eksempel på dens anvendelse vil være som følger:

Select * from person

Indre bli Subdivision på Su_Person = Pe_ID

Språket SQL og Delta Indre Bli med operatøren kan brukes ikke bare for å kombinere to eller flere tabeller, men også for å koble de andre sub-spørringer, som i stor grad forenkler arbeidet med databaseadministratorer, og som regel kan betydelig akselerere gjennomføring av konkrete, kompliserte spør strukturer.

Ved å kombinere data i tabellene linje for linje

Hvis vi ser på tilkobling av et stort antall sub-spørringer, og data samlet inn i en enkelt tabell linje for linje, kan du også bruke operatorer Union og Union Alle.

Bruken av disse strukturene vil avhenge av utbygger for å sette mål og resultater som han ønsker å oppnå i slutten.

Beskrivelse Indre Bli med operatør

I de fleste tilfeller, å kombinere flere tabeller i SQL språket som brukes av Indre Bli operatør. Beskrivelse Indre Bli med i SQL er ganske lett å forstå den gjennomsnittlige programmerer som er bare begynnelsen for å forstå databasene. Hvis vi ser på beskrivelse av mekanismen for arbeidet med denne strukturen, får vi følgende bilde. Den logisk krets som helhet er bygget på krysset og muligheten for prøvetaking bare de data som er i hver av tabellene som inngår i spørringen.

Hvis vi ser på denne type arbeid i form av grafisk tolkning, får vi SQL Indre Bli operatør struktur, et eksempel på noe som kan vises ved følgende skjema:

For eksempel har vi to tabeller, vist skjematisk i figuren. De på sin side har et annet antall oppføringer. I hver av tabellene har felt som er relatert. Hvis vi prøver å forklare arbeidet til operatøren på grunnlag av tegningen, vil det returnerte resultatet bli et sett med poster fra to tabeller, der rommene er sammenhengende felt sammenfaller. Enkelt sagt, returnerer spørringen bare de postene (tabell nummer to), der dataene er nummer én tabell.

Syntaksen i Indre Bli med

Som nevnt tidligere, operatør Indre Bli med, nemlig dens syntaks, uvanlig enkel. For organisering av relasjoner mellom tabeller i en enkelt prøve vil være nok til å huske og bruke følgende skjematisk fremstilling av konstruksjonen av operatøren, som er foreskrevet i en enkelt linje av programvare SQL-kode, nemlig:

  • Indre Bli [Tabellnavn] på [et nøkkelfelt av bordet som kobler] = [pluggnøkkel felt av tabellen].

For kommunikasjon i denne uttalelsen er hovedsakelig brukt tabeller nøkler. Som regel i gruppen av tabeller som lagrer informasjon om ansatte, tidligere beskrevet Person Subdivision og ha minst ett lignende posten. Så, ta en nærmere titt operatør SQL Indre Bli med, et eksempel på noe som har vist litt tidligere.

Eksempel beskrivelse og tilkobling til audioeksempeltabell

Vi har en person bord, som lagrer informasjon om alle de ansatte som arbeider i selskapet. Bare merk at hovednøkkelen for tabellen er et felt - Pe_ID. Bare på den og vil gå en bunt.

Den andre tabellen Subdivision vil lagre informasjon om kontorene der de ansatte arbeider. Hun på sin side er koblet via Su_Person feltet Person tabellen. Hva betyr dette? Basert på data skjema kan sies at i tabellen enheter for hver post i tabellen "ansatte" vil være informasjon om instituttet der de arbeider. Det er av denne kommunikasjonen, og vil jobbe operatør Indre Bli med.

For en mer intuitiv bruk av vurdere operatør SQL Indre Medlem (eksempler på bruk for en eller to tabeller). Hvis vi vurdere eksempel på det samme bordet, så alt er ganske enkel:

Select * from person

Indre bli Subdivision på Su_Person = Pe_ID

Eksempel forbinde de to bord og subquery

Operatør SQL Indre Bli med, eksempler på dette er bruk til å hente data fra flere tabeller kan arrangeres i ovennevnte måte, det fungerer på en liten komplikasjon av prinsipp. For å komplisere oppgaven av de to tabellene. For eksempel har vi Avreise tabell som lagrer informasjon om alle avdelinger i hver divisjon. I denne tabellen registrert divisjon nummer og ansattnummer, og må suppleres med navnet på eksempeldata for hver avdeling. Ser fremover, er det verdt å si at du kan bruke to metoder for å løse dette problemet.

Den første måten er å koble avdelingen bordet for å smake. Organiser forespørsel i dette tilfellet kan være som følger:

Velg Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name fra Person

Indre bli Subdivision på Su_Person = Pe_ID

Indre bli Depart på Su_Depart = Dep_ID og Pe_Depart = Dep_ID

Den andre metode for å løse problemet - er å bruke en subquery der ikke alle data vil bli valgt fra den avdeling bordet, men bare nødvendig. Dette er i motsetning til den første fremgangsmåte, vil det redusere tiden for forespørselen.

Velg Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name fra Person

Indre bli Subdivision på Su_Person = Pe_ID

Indre delta (Velg Dep_ID, Dep_Name, Pe_Depart fra Vik) som T på Su_Depart = Dep_ID og Pe_Depart = Dep_ID

Det er verdt å merke seg at en slik ordning ikke alltid kan få fortgang i arbeidet forespørsel. Noen ganger kan det finnes tilfeller når det er nødvendig å bruke en ekstra prøvedata til en midlertidig tabell (hvis volum er for stor), og deretter ble slått sammen med hovedprøven.

Eksempel på bruk Indre Delta operatøren å prøver fra et stort antall tabeller

Konstruksjonen innebærer bruk av komplekse forespørsler for prøven betydelige mengder datatabeller og subqueries innbyrdes forbundet. Disse kravene kan tilfredsstille SQL Indre Bli syntaks. Eksempler på bruk av operatøren, i dette tilfellet kan være komplisert, ikke bare eksempler på de mange lagringssteder, men også med et stort antall nøstede sub-spørringer. For et konkret eksempel kan du ta data fra et utvalg av systemtabeller (INNER JOIN SQL-setning). Eksempel - 3 i tabellen - i dette tilfellet vil ha en ganske kompleks struktur.

I dette tilfellet er koblet til (den primære tabellen) og tre ytterligere innført flere datavalg betingelser.

Ved bruk av Indre Bli Operatøren må huske at jo mer kompleks spørringen, desto lengre tid vil bli gjennomført, så du bør se etter måter å raskere utføre og løse problemet.

konklusjon

Til slutt vil jeg gjerne si en ting: å arbeide med databaser - det er ikke det vanskeligste i programmering, så hvis du vil at hver enkelt person vil være i stand til å tilegne seg kunnskap til å bygge opp en database, og over tid, få erfaring, få deg til å arbeide med dem på et profesjonelt nivå .

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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