/ / MySQL JOIN: beskrivelse, eksempel på brug af kommandoen og anbefalinger

MySQL JOIN: beskrivelse, eksempel på brug af kommandoen og anbefalinger

Udvikling af databaser over internetressourceradskiller sig praktisk talt ikke fra standarddatabaser udviklet i MS SQL SERVER-systemet. Som regel bruges MY SQL-sproget til sådanne ressourcer, selvom det også kan anvendes til udvikling af standard softwareprodukter til lokal brug. Men denne artikel handler ikke om det.

mysql deltage

Ofte når man arbejder med databaser i hver afsprog, er opgaven at lave en stikprøve af data til output til en række rapporter, grafer og så videre. Når du implementerer denne type opgaver, skal du som regel ikke bruge en, men flere tabeller, der kombinerer dem i en forespørgsel, hvilket komplicerer dens design markant. I dette tilfælde er det nødvendigt at tage højde for, hvordan dataene vises, hvordan tabellerne "trækkes op", og hvilket resultat der er mest acceptabelt for programmøren. En af de standard MySQL-sprogkonstruktioner, Join, bruges til at løse sådanne problemer.

Deltag i word-konceptet

Databaseudviklingssprog, uanset hvaddette er sproget, standardord fra engelsksprogede ordbøger er taget som basis (det er derfor, forudsat at du kender engelsk, vil det være meget lettere for dig at arbejde med tabeller). For at implementere forbindelsen af ​​tabeller i markeringen tages det samme ord - Deltag. I databasens programmeringssprog bruges My SQL. Oversættelsen af ​​dette serviceord er nøjagtig den samme som i selve sproget - "union".

Fortolkning af MySQL-konstruktionen - Deltag, ognogen af ​​dem vil være nøjagtig de samme. Hvis vi dechiffrerer formålet med strukturen, nemlig skemaet for dens drift, får vi følgende betydning: strukturer giver mulighed for at samle de nødvendige felter fra forskellige tabeller eller indlejrede forespørgsler i en markering.

Typer af strukturer, der skal kombineres

mysql deltage

Hvis en programmør har brug for at samle en prøve fraflere tabeller, og han ved, hvilke nøglefelter der er i dem, og hvilken type data der er brug for til rapporten, så kan du bruge en af ​​de grundlæggende sammenføjningskonstruktioner til at opnå det ønskede resultat. Der er fire grundlæggende konstruktioner (til sammenføjning af tabeller):

  1. Indvendig sammenføjning.
  2. Cross Join.
  3. Venstre deltager.
  4. Right Join.

Afhængigt af den aktuelle opgave giver hvert standarddesign forskellige resultater, hvilket giver dig mulighed for at modtage rapporter om forskellige parametre på kort tid.

Oprettelse og udfyldning af tabeller til videre brug

Før du starter, overvejer du for eksempelmekanismer til at arbejde med dataenhedskonstruktioner, er det værd at forberede flere tabeller, som vi vil arbejde med i fremtiden. Dette vil hjælpe med at tydeligt vise alle principperne for operatørers drift, og på den måde er det lettere for begyndere at lære alle de grundlæggende funktioner i programmeringstabeller.

Den første tabel beskriver nogle af de genstande, som en person konstant møder i hele sit liv.

mysql deltage

I den anden tabel beskriver vi nogle af egenskaberne ved objekter fra den første tabel, så du kan arbejde med dem i fremtiden.

venstre slutte sig til mysql

Generelt vil to tabeller være nok til at illustrere, hvordan de fungerer. Nu kan du starte en praktisk undersøgelse af vores designs.

Brug af Inner Join

Når du bruger MySQL-konstruktion - Deltag i Ineerdet er værd at overveje nogle af dets funktioner. Dette design giver dig mulighed for kun at vælge de poster, der er i første og anden tabel, fra begge tabeller. Hvordan det virker? I den første tabel har vi en masternøgle - ID, der angiver det ordinære antal poster i tabellen.

Når du opretter en anden tabel, den samme nøglebruges som serienummer, et eksempel kan ses i figurerne. Når du vælger data, bestemmer Select -sætningen som følge heraf kun de poster, hvis sekvensnumre falder sammen, hvilket betyder, at de er i den første og anden tabel.

Når du bruger konstruktionen, skal du forståhvilken slags data du skal have. Den mest almindelige fejl, især for en novice-databaseprogrammerer, er den irrationelle og forkerte brug af Inner Join-konstruktionen. Som et eksempel, MySQL Inner Join, kan du overveje et script, der returnerer os fra de tidligere beskrevne og udfyldte tabeller med oplysninger om objekter og deres egenskaber. Men også her kan der være flere måder at bruge strukturen på. I denne henseende er My SQL et meget fleksibelt sprog. Så du kan se på eksempler på brug af MySQL Inner Join.

Sammenkædning af tabeller uden at angive nogen parametre. I dette tilfælde får vi resultatet af en sådan plan:

mysql indre sammenføjning

Hvis vi angiver ved hjælp af serviceordet, atdet er bydende nødvendigt at tage højde for masternøglerne til poster i tabellerne, så ændres valgresultatet dramatisk. I dette tilfælde får vi et valg, der kun returnerer de rækker, der har de samme hovednøgler.

mysql deltage eksempler

En tredje brugssag er også mulig.konstruktioner, når de i forespørgslen gennem ordet "on" angives de felter, hvormed tabellerne skal sammenføjes. I dette tilfælde returnerer markeringen følgende data:

mysql join vælg

Funktioner ved brug af Left Join

Hvis du overvejer en anden måde at forbinde tabeller ved hjælp af MySQL - Join -konstruktionen, kan du bemærke forskellen i de data, der vises. Den venstre konstruktion er sådan en mekanisme.

Brug af Left Join MySQL har nogle særegenheder og kræver ligesom Inner en klar forståelse af det resultat, der skal opnås.

I dette tilfælde vælges alle poster først.fra den første tabel, og yderligere poster fra den anden egenskabstabel vil blive knyttet til dem. På samme tid, hvis den første tabel indeholder en post, for eksempel "afføring", og den anden tabel ikke har en enkelt egenskab til den, vil venstreoperatoren vise null foran denne post, hvilket fortæller programmøren at der ikke er tegn på denne type objekt ...

Ved at bruge dette design kan du bestemme, hvilke felter eller for eksempel varer i butikken ikke er prissat, garantiperioden og så videre.

Eksempel på brug af Venstre

Skal betragtes i praksis af operatørenMySQL Left Join-konstruktioner bruger de tidligere beskrevne tabeller. For eksempel skal du vælge hele listen over produkter, der er i butikken, og kontrollere, hvilken af ​​dem der ikke er skilte eller egenskaber. I dette tilfælde viser udvalget alle produkter, og tomme værdier angives for dem, der ikke har en egenskab.

mysql opdatering

Brug af Where in a Join -klausul

Som en parameter kan en sammenføjning ikke kun omfatte angivelse af de felter, som tabeller skal forbindes til, men kan også omfatte en Hvor-klausul-operator.

Overvej for eksempel et script, der skalat kun vende tilbage til os de poster, for hvilke tegnet ikke er anbragt. I dette tilfælde skal du tilføje en betingelsesoperator til Join-konstruktionen og angive, hvad der præcist skal returneres som et resultat.

Når du bruger Deltag - Hvor i MySQL, skal du forstå klart, at kun de poster, som den angivne betingelse gælder for, vises, og udvælgelsen vil så se sådan ud:

mysql deltage hvor

Sådanne forespørgsler giver dig mulighed for at foretage valg efterspecifikke data, der vedrører den tilstand, programmereren har valgt. Du kan angive flere sådanne betingelser, mens du maksimerer parametrene for valg af data fra de kombinerede tabeller.

Brug af Join til at ændre data i tabeller

Join-konstruktionen er i det væsentlige universel.Det giver dig mulighed for ikke kun at foretage en række valg, men også at inkludere i forespørgsler fra en til flere tabeller for at indtaste yderligere betingelser i markeringen. Konstruktionen kan også bruges til andre datahandlinger. F.eks. Kan Join bruges til at ændre data i en tabel. Snarere at afklare forhold i en tabel eller i tilfælde, hvor du har brug for at opdatere data i flere tabeller for de samme betingelser.

Overvej f.eks. Følgende problem.Der er tre tabeller, der indeholder nogle data. Du skal ændre dataene i begge tabeller ved hjælp af en forespørgsel. Bare for at løse denne form for opgaver kan du bruge Join-konstruktionen i opdateringskommandoen. Typen af ​​selve Join -konstruktionen afhænger, som i tilfælde af datasampling, af det resultat, programmereren ønsker at få.

Lad os se på det enkleste eksempel.Det er nødvendigt at opdatere dataene til de samme betingelser med en anmodning. Forespørgsler af denne art er bygget til at optimere arbejdet med databasen. Hvorfor skrive forskellige forespørgsler for hver af tabellerne, når du kan udføre al datamanipulation med en forespørgsel? Et eksempel på MySQL Update Join i vores tilfælde vil være sådan:

mysql left join -eksempler

Opbygning af komplekse forespørgsler

Ganske ofte når man arbejder med en databasedet er nødvendigt at opbygge forespørgsler ikke kun ved sammenføjning af flere tabeller, men også ved hjælp af underforespørgsler. Sådanne opgaver er ret vanskelige for en ny database -programmør at forstå. Vanskeligheden ligger i det faktum, at du skal tænke igennem hvert trin, bestemme hvilke data fra hvilken tabel eller forespørgsel, du har brug for at få, og hvordan du bliver nødt til at arbejde med dem i fremtiden.

For en mere specifik forståelse kan du overveje(i MySQL Join) eksempler på komplekse forespørgsler. Hvis du er nybegynder og lige er begyndt at arbejde med databaser, vil denne træning kun gavne det. Den ideelle mulighed ville være MySQL Left Join -eksempler.

venstre slutte sig til mysql

Denne anmodning returnerer 58 kontraktregistre til ossalg, hvor en kontantsaldo er udfyldt eller eksisterer fra den valgte dato. I dette tilfælde er dette den aktuelle dato. Der er også tilføjet en betingelse til udvælgelsen, at navnet på kontrakten skal indeholde symboler - "123". Oplysningerne (data), der vises på skærmen, sorteres - ordnet efter kontraktnummer.

Følgende eksempel viser data om alle betalinger, hvor kontraktnummeret angives.

mysql deltage

Brug af underforespørgsler

Som nævnt tidligere, når man arbejder med databaserdata, kan du kombinere ikke kun tabeller, men også en tabel med en forespørgsel. Dette design bruges hovedsageligt til at fremskynde forespørgslen og optimere den.

For eksempel om nødvendigt fra en tabel, derhar flere hundrede felter og f.eks. tusind poster, vælg kun to felter, så brug en forespørgsel, der kun returnerer de krævede felter og kombinere den med hoveddatasættet. Som et eksempel på MySQL Join Select kan du overveje en forespørgsel af denne type:

mysql deltage

Dette er ikke alle måder at bruge standarden påMySQL-konstruktioner, men kun standard. Sådan bruges Join -konstruktionen og i hvilke former det er op til programmøren selv, men det er værd at huske og tage hensyn til, hvilket resultat der skal opnås, når der udføres en forespørgsel.

ønsket:
0
Populære indlæg
Åndelig udvikling
mad
y