MySQL JOIN: en beskrivelse, et eksempel på bruk av kommandoen og anbefalinger

Utvikling av databaser av Internett-ressurserpraktisk talt ikke forskjellig fra standarddatabaser utviklet i MS SQL SERVER-systemet. MY SQL brukes som regel til slike ressurser, selv om den kan brukes til utvikling av standard programvareprodukter for lokal bruk. Men denne artikkelen handler ikke om det.

mysql bli med

Ofte når man arbeider med databaser i hver avspråk har oppgaven å lage et utvalg av data for visning i en rekke rapporter, grafer og så videre. Som regel, når du implementerer slike oppgaver, er det nødvendig å bruke ikke en, men flere tabeller, kombinere dem med ett søk, betydelig kompliserer designen. Samtidig er det nødvendig å ta hensyn til hvordan dataene skal vises, hvordan tabellene blir "trukket opp" og hvilket resultat vil være mest akseptabelt for programmereren. For å løse slike problemer, bruk en av standardkonstruksjonene i MySQL-språket - Bli med.

Begrepet ordet Bli med

Database utvikling språk, uansett hvadet er for språket, standard ord fra engelskspråklige ordbøker er tatt som grunnlag (det er derfor, forutsatt at du vet engelsk, vil det være mye lettere for deg å jobbe med tabeller). For å implementere tilkobling av tabeller, blir det samme ordet tatt i prøven - Bli med. I et databaseprogrammeringsspråk brukes Min SQL. Oversettelsen av dette offisielle ordet er nøyaktig det samme som i selve språket - "union".

Tolkning av MySQL-konstruksjonen - Bli med, ognoen av disse vil være nøyaktig det samme. Hvis du tyder på formålet med strukturen, nemlig ordningen for sitt arbeid, får vi følgende verdi: strukturen vil tillate å samle de nødvendige feltene fra forskjellige tabeller eller undersøkelser til en prøve.

Typer strukturer for å kombinere

mysql bli med

Hvis programmereren trenger å samle en prøve avflere tabeller og han vet hvilke nøkkelfelt i dem og hvilke data som trengs for rapporten, så kan du bruke en av de viktigste strukturene i fagforeningen for å oppnå ønsket resultat. Det er fire hovedkonstruksjoner (for å kombinere tabeller):

  1. Innerforening.
  2. Kryss sammen.
  3. Venstre bli med.
  4. Høyre Bli med.

Avhengig av oppgaven, vil hver av standardstrukturen gi forskjellige resultater, som vil tillate å motta rapporter om ulike parametere på kort tid.

Opprette og fylle tabeller for fremtidig bruk.

Før du begynner, for eksempel vurderemekanismer for å jobbe med dataforbundskonstruksjoner, er det verdt å forberede flere tabeller som vi vil fortsette å jobbe med. Dette vil bidra til å visuelt vise alle prinsippene til operatørene, og på denne måten vil nybegynnere lettere forstå alt det grunnleggende for programmeringstabellene.

Den første tabellen beskriver noen ting som en person stadig møter i hele sitt liv.

mysql bli med

I den andre tabellen beskriver vi noen egenskaper av gjenstander fra den første bordet slik at vi kan jobbe med dem i fremtiden.

igjen bli med mysql

Generelt vil to tabeller være nok til å vise sitt arbeid med et eksempel. Nå kan du begynne den praktiske vurderingen av våre design.

Bruke Inner Join

Når du bruker konstruksjonen av MySQL - Bli med IneerDet er verdt å vurdere noen av funksjonene sine. Denne utformingen lar deg velge fra begge tabellene bare de postene som er i både første og andre tabeller. Hvordan virker det? I den første tabellen har vi en hovednøkkel-ID, som angir ordinært antall poster i tabellen.

Når du lager den andre tabellen, er den samme nøkkelenbrukt som et sekvensnummer, kan et eksempel ses i figurene. Når du velger data, vil Select-operatøren bare bestemme disse postene som et resultat, hvor sekvensnumrene sammenfaller, noe som betyr at de er i første og andre tabeller.

Når du bruker designen må du forståhva slags data du trenger å få. Den vanligste feilen, spesielt for en nybegynner database programmerer, er irrasjonell og feil bruk av Inner Join konstruksjonen. Som et eksempel, MySQL Inner Join, kan vi vurdere et skript som vil returnere informasjon om objekter og deres egenskaper fra de tidligere beskrevne og fylte tabellene. Men det kan være flere måter å bruke design på. I denne forbindelse er min SQL et veldig fleksibelt språk. Så, kan du vurdere eksempler på bruk av MySQL Inner Join.

Kombinerer tabeller uten å angi noen parametere. I dette tilfellet får vi resultatet av en slik plan:

mysql indre delta

Hvis vi angir gjennom tjenesteordet Bruk, detdet er nødvendig å ta hensyn til hovednøklene til poster i tabellene, så vil resultatet av prøven endre seg dramatisk. I dette tilfellet får vi et eksempel som bare returnerer de rader som har de samme hovedtastene.

mysql bli med på eksempler

En tredje brukstilfelle er også mulig.konstruksjoner, når i spørringen gjennom ordet "på" er feltene angitt, slik at tabellene skal knyttes sammen. I dette tilfellet vil prøven returnere følgende data:

mysql bli med i velg

Funksjoner ved bruk av Venstre Bli med

Hvis vi vurderer en annen måte å bli med på bord ved hjelp av MySQL - Join konstruksjonen, kan du legge merke til forskjellen i dataene som sendes ut. En slik mekanisme er oppbyggingen av venstre.

Ved bruk av Venstre Join-konstruksjonen har MySQL noen funksjoner og, som Inner, krever en klar forståelse av resultatet som skal oppnås.

I dette tilfellet velges alle oppføringer først.fra den første tabellen, og senere vil de bli med i postene fra den andre tabellen av eiendommer. På samme tid, hvis den første tabellen har en plate, for eksempel "avføring", og den andre tabellen ikke har noen egenskaper for den, vil den venstre operatøren skrive ut motsatt denne posten til null, noe som forteller programmerer at det ikke er tegn på denne typen gjenstand .

Ved hjelp av dette designet kan du avgjøre hvilke felt eller for eksempel varene i butikken ikke er priset, garantiperioden og så videre.

Venstre brukstilfelle

For behandling i operatørens praksisVenstre Bli med MySQL konstruksjoner bruke de tidligere beskrevne tabellene. For eksempel må du velge hele listen over produkter som er i butikken, og kontroller at noen av dem ikke er merket med tegn eller egenskaper. I dette tilfellet vil prøven vise alle produkter, og for de som ikke har en eiendom, blir tomme verdier oppgitt.

mysql oppdatering bli med

Bruke Hvor i en Join Construction

Som en parameter kan en sammenføyning inneholde ikke bare å angi feltene med hvilke tabeller skal kobles, men det kan også inkludere operatøren for Where-klausulen.

For eksempel, vurder skriptet som skalreturner til oss bare de poster som ikke er merket. I dette tilfellet må du legge til en tilstandserklæring til Join-konstruksjonen og angi hva som skal returneres som et resultat.

Når det brukes i MySQL Join - Where, må du tydelig forstå at bare de registrene vil bli vist at den angitte tilstanden refererer til, og prøven vil da se slik ut:

mysql bli med hvor

Slike spørsmål lar deg lage prøver avspesifikke data som vedrører tilstanden valgt av programmereren. Du kan angi flere av disse betingelsene, mens maksimal raffinering av parametrene for valg av data fra de kombinerte tabellene.

Bruk Bli med for å endre data i tabeller

Konstruksjonen av Join er hovedsakelig universell. Det gjør det ikke bare mulig å lage en rekke prøver, men også å inkludere i spørringer fra en til flere tabeller, for å introdusere ytterligere betingelser i prøven. Designet kan også brukes til andre dataoperasjoner. Så, Join kan brukes til å endre data i et bord. I stedet for å klargjøre betingelsene i tabellen eller i de tilfellene hvis du må oppdatere dataene i flere tabeller under de samme forholdene.

For eksempel, vurder dette problemet. Det er tre tabeller der det er noen data. Det er nødvendig å endre dataene i begge tabellene ved hjelp av en enkelt spørring. Bare for å løse denne typen oppgaver, kan du bruke kommandoen Bli med i Oppdater-kommandoen. Typen av konstruksjon Bli med, avhenger, akkurat som ved data-sampling, på resultatet som programmereren ønsker å få.

Vurder det enkleste eksemplet. Det er nødvendig å oppdatere data med en forespørsel på samme vilkår. Slike spørsmål er bygget for å optimalisere arbeidet med databasen. Hvorfor skrive forskjellige spørringer for hver av tabellene hvis du kan utføre alle manipulasjonene med dataene i ett søk? Et eksempel på MySQL Update Join i vårt tilfelle ville være:

mysql igjen bli med eksempler

Bygg komplekse spørsmål

Ganske ofte når du arbeider med en databasedet er nødvendig å bygge spørringer ikke bare med forening av flere bord, men også ved bruk av underkategorier. Slike oppgaver er ganske vanskelig for en nybegynner database programmerer å forstå. Vanskeligheten er at du må tenke gjennom hvert trinn, avgjøre hvilke data fra hvilken tabell eller spørring du trenger, og hvordan du må jobbe med dem i fremtiden.

For en mer spesifikk forståelse, kan du vurdere(i MySQL Join) eksempler på komplekse søk. Hvis du er nybegynner og bare begynner å jobbe med databaser, vil slik trening bare være til nytte. Det ideelle alternativet ville være MySQL Left Join-eksempler.

igjen bli med mysql

Denne forespørselen vil returnere oss 58 kontraktspostersalg hvor kontantsaldoen på den valgte datoen er fylt eller eksisterer. I dette tilfellet er dette dagens dato. Også en tilstand er lagt til prøven at kontraktens tittel skal inneholde symbolene - "123". Informasjonen (data) som vises på skjermen vil bli sortert - bestilt etter kontraktsnummer.

Følgende eksempel vil vise data på alle betalinger der kontraktsnummeret vil bli angitt.

mysql bli med

Bruk av undersøkelser

Som nevnt tidligere, når du arbeider med databaserData kan kombineres ikke bare med tabeller, men også et bord med en forespørsel. Denne utformingen brukes hovedsakelig for å øke spørringen og optimaliseringen.

For eksempel, om nødvendig fra et bord somhar flere hundre felt og si tusen poster, velg bare to felt, så bør du bruke et søk som bare returnerer de nødvendige feltene og kombinerer det med hoveddataprøven. Som et eksempel på MySQL Join Select, kan du vurdere et spørsmål av denne typen:

mysql bli med

Disse er ikke alle bruksområder av standardMySQL konstruerer, men bare standard dem. Slik bruker du Join-strukturen og i hvilke former det bestemmer programmøren selv, men det er verdt å huske og ta hensyn til hvilket resultat som skal oppnås når du utfører spørringen.

Relaterte nyheter