MySQL JOIN: opis, primer uporabe ukaza in priporočil
Razvoj podatkovne baze
Vsebina
- Koncept besede pridruži se
- Vrste struktur za združenje
- Ustvarjanje in populiranje tabel za poznejšo uporabo
- Uporaba notranje povezave
- Značilnosti uporabe levega pristopa
- Levi primer
- Uporabi kje v konstrukciji pridruži se
- Z združevanjem spremenite podatke v tabelah
- Izgradnja zapletenih poizvedb
- Uporaba podprojektov
Pogosto pri delu z bazami podatkov v vsakem od jezikov je naloga, da izberejo podatke za izhod v različne vrste poročil, grafov in tako naprej. Praviloma pri izvajanju takšnih nalog ni potrebno uporabljati niti ene, temveč več tabel, ki jih združuje v eno poizvedbo, kar precej otežuje njegovo gradnjo. Hkrati je treba upoštevati, kako bodo podatki izhajali, kako bodo tabele "potegnjene" in kateri rezultat bo najbolj sprejemljiv za programerja. Za rešitev takšnih težav je eden od standardnih konstruktov jezika MySQL pridružen.
Koncept besede Pridruži se
Jeziki za razvoj baze podatkov, ne glede na to, kateri jezik je, se uporabljajo osnovni izrazi iz slovarjev v angleškem jeziku (zaradi tega, ker poznate angleščino, vam bo veliko lažje delo z mizami). Za izvajanje povezave tabel v vzorcu se uporablja ista beseda - Pridruži se. V uporabljenem programskem jeziku baze podatkov Moj SQL. Prevod te uradne besede je popolnoma enak kot v samem jeziku - »poenotenje«.
Razlaga konstrukta MySQL-Join in katera koli od njih bo popolnoma enaka. Če dešifriramo načrtovalni namen, in sicer shemo njenega delovanja, dobimo naslednji pomen: konstrukcije bodo omogočile zbiranje potrebnih polj iz različnih tabel ali ugnezdenih poizvedb v en vzorec.
Vrste struktur za združenje
Če mora programer zbrati vzorec iz več tabel in ve, katera ključna polja v njih in kateri podatki so potrebni za poročilo, se lahko za dosego želenega rezultata uporabi ena od osnovnih konstrukcij sindikata. Osnovne konstrukcije (za pridruži tabele) so štiri:
- Notranji pridruži.
- Cross Pridružite se.
- Levi pridruži.
- Pravica Pridružite se.
Odvisno od naloge bo vsak standardni model dala različne rezultate, kar vam bo omogočilo, da v kratkem času prejmete poročila o različnih parametrih.
Ustvarjanje in populiranje tabel za poznejšo uporabo
Preden začnete, na primer, razmislite o mehanizmih dela z zvezami podatkov, je vredno pripraviti več tabel, s katerimi bomo še naprej delali. To bo pomagalo vizualno prikazati vsa načela operaterjev, poleg tega pa se začetnikom lažje naučijo vseh osnov programskih tabel.
V prvi tabeli bodo opisani nekateri elementi, ki jih oseba nenehno sreča skozi vse življenje.
V drugi tabeli opisujemo nekatere lastnosti predmetov iz prve tabele, tako da lahko v prihodnosti delamo z njimi.
Na splošno sta dve mizi dovolj, da svoje delo pokažejo z zgledom. Zdaj lahko začnete razmišljati o naših modelih.
Uporaba notranje povezave
Pri uporabi konstrukta MySQL-Join Ineer je vredno upoštevati nekatere njegove funkcije. Ta oblika vam omogoča, da iz obeh tabel izberete le tiste zapise, ki so v prvi in drugi tabeli. Kako deluje? V prvi tabeli imamo glavni ključ - ID, ki označuje zaporedno število zapisov v tabeli.
Pri ustvarjanju druge tabele se kot zaporedna številka uporablja isti ključ, na sliki je prikazan primer. Ko izberete podatke, bo operator Select izbral samo zapise, katerih zaporedne številke so enake, kar pomeni, da obstajajo v prvi in drugi tabeli.
Pri uporabi modela morate razumeti, katere podatke potrebujete. Najpogostejša napaka, zlasti za začetnika programerja podatkovne baze, to je iracionalna in nepravilna uporaba modela Inner Join. Kot primer, MySQL Inner Join, lahko preberete skript, ki nas bo vrnil iz predhodno opisanih in izpolnjenih tabel informacij o predmetih in njihovih lastnostih. Vendar pa lahko zgradbo uporabljamo na več načinov. V tem pogledu je moj SQL zelo prilagodljiv jezik. Torej, lahko razmislite o primerih uporabe MySQL Inner Join.
Združevanje tabel brez določanja parametrov. V tem primeru dobimo rezultat takšnega načrta:
Če označimo z uporabo besede Word, da je treba upoštevati glavne ključe zapisov v tabelah, se bo rezultat izbora radikalno spremenil. V tem primeru dobimo vzorec, ki bo vrnil le tiste vrstice, ki imajo enake glavne ključe.
Prav tako je mogoče uporabiti tretjo različico uporabe strukture, ko poizvedba "on" določa polja, na katerih je treba združiti tabele. V tem primeru bo vzorec vrnil naslednje podatke:
Značilnosti uporabe levega pristopa
Če razmišljamo o drugačnem načinu združevanja tabel z uporabo konstrukta MySQL-Join, lahko vidite razliko podatkov, ki se izpisujejo. Ta mehanizem je levi konstrukt.
Uporaba MySQL-jevega konstrukta za združevanje ima nekaj funkcij in, kot je Inner, zahteva jasno razumevanje rezultatov, ki jih je treba pridobiti.
V tem primeru bodo najprej izbrani vsi zapisi iz prve tabele, nato pa bodo zanje dodani zapisi iz druge tabele premoženja. V tem primeru, če je zapis, na primer, "blato" v prvi tabeli in druga tabela nobene lastnosti do njega, na levi strani operaterja prikaže pred vstopom na null, ki pripoveduje programer, da se znaki na to temo ni slišal .
Z uporabo te oblike boste lahko določili, katera polja ali na primer blago v trgovini ni izpostavljeno ceni, garancijsko obdobje in tako naprej.
Levi primer
Da bi v praksi upoštevali levo povezavo MySQL operaterja konstrukcij, uporabljamo tabele, opisane prej. Na primer, morate izbrati celoten seznam izdelkov, ki so v trgovini, in preverite, katera od njih ni označena z znaki ali lastnostmi. V tem primeru bo vzorec prikazoval vse izdelke na zaslonu, za tiste, ki nimajo lastnosti, bodo prikazane prazne vrednosti.
Uporabi Kje v konstrukciji Pridruži se
Kot parameter lahko pridruži ne le polja, s katerimi želite povezati mize, temveč lahko tudi vključi operatorja klavzule Kje.
Na primer, upoštevajte skript, ki bi nam moral vrniti samo tiste zapiske, ki nimajo funkcije. V tem primeru morate v stavku Pridruži dodati stavko stanja in določiti, kaj natančno želite vrniti.
Ko se uporablja v MySQL Join - Kje morate jasno razumeti, da bodo prikazani samo tisti zapisi, na katere se nanaša določen pogoj, izbira pa bo videti takole:
Takšne zahteve vam omogočajo, da izberete določene podatke, ki se nanašajo na stanje, ki ga je izbral programer. Obstaja več takih pogojev, vendar hkrati določamo parametre izbire podatkov iz združenih tabel.
Z združevanjem spremenite podatke v tabelah
Združi konstrukt je pravzaprav univerzalen. Omogoča ne samo izdelavo različnih vzorcev, ampak tudi vključitev zahtevkov iz ene na več tabel, v vzorec vnesite dodatne pogoje. Zasnova se lahko uporablja tudi za druge podatkovne operacije. Torej, Join lahko uporabite za spreminjanje podatkov v tabeli. Namesto tega, če želite pojasniti pogoje v tabeli ali v teh primerih, če želite podatke posodabljati v več tabelah za enake pogoje.
Na primer, upoštevajte ta problem. Navedene so tri tabele, v katerih je nekaj podatkov. V obeh tabelah morate spremeniti podatke z eno poizvedbo. Za rešitev te vrste nalog lahko uporabite konstrukcijo »Pridruži« v ukazu Update. Tip konstrukcije pristopa je odvisen, tako kot v primeru pridobivanja podatkov, na rezultat, ki ga želi programer.
Razmislimo o najpreprostejšem primeru. Za iste pogoje morate posodabljati isto poizvedbo. Takšne poizvedbe so zgrajene za optimizacijo dela z bazo podatkov. Zakaj napisati različne poizvedbe za vsako od tabel, če lahko izvedete vse manipulacije podatkov z eno poizvedbo? Primer: Posodobitev MySQL Pridruženi v našem primeru bo:
Izgradnja zapletenih poizvedb
Pogosto pri delu z bazo podatkov je treba zgraditi poizvedbe ne le z združitvijo več tabel, temveč tudi z uporabo podqueries. Takšne naloge so precej težke za razumevanje začetnega programerja baz podatkov. Težava je, da morate z vsakim korakom razmišljati, določiti podatke, iz katerih tabele ali poizvedbe, ki jo potrebujete, in kako boste morali z njimi delati v prihodnosti.
Za natančnejše razumevanje lahko v (v MySQL Join) primerjate primere zapletenih poizvedb. Če ste začetnik in se šele začnete ukvarjati z bazami podatkov, bo tovrstno usposabljanje koristno. Idealna možnost bo MySQL levo Pridružite primeri.
Ta zahteva nam bo vrnila 58 evidenc prodajnih pogodb, za katere je bil izpolnjen gotovinski saldo ali obstaja za izbrani datum. V tem primeru je to trenutni datum. Tudi v vzorcu je bil dodan pogoj, da mora ime pogodbe vsebovati simbole "123". Informacije, prikazane na zaslonu (podatki), bodo razvrščene - naročanje po številki pogodbe.
Naslednji primer prikazuje podatke o vseh plačilih, v katerih je navedena številka pogodbe.
Uporaba podprojektov
Kot že omenjeno, pri obdelavi podatkovnih baz lahko združite ne le tabel, ampak tudi tabelo s poizvedbo. Ta zasnova se uporablja predvsem za pospešitev poizvedbe in njegovo optimizacijo.
Na primer, če želite, da iz tabele, ki ima na stotine polj in, recimo, tisoč zapisov, izberite samo dva polja, je treba uporabiti poizvedbo, ki vrne le zahtevana polja, in ga združiti z glavno vzorca podatkov. Kot primer MySQL Join Select, lahko obravnavate poizvedbo te vrste:
To ni vse načine za uporabo standardnih MySQL konstruktov, temveč le standardne. Način uporabe konstrukta Pridruži in v katerih od svojih oblik odloča sam programer, vendar je treba spomniti in upoštevati, kateri rezultat je treba pridobiti po izvedbi poizvedbe.
- SQL datoteka. Format datoteke SQL: opis razširitve
- MySQL je, kaj in kje se uporablja?
- Ustvarjanje podatkovne baze MySQL je del katerega koli spletnega mesta
- Pregled sistemov za upravljanje baz podatkov
- MySQL - kaj je to? Napaka MySQL
- MySQL izberi iz: operaterja vzorčenja
- MySQL - zahteva v zahtevi. MySQL: primeri poizvedb. Vgnezdene poizvedbe MySQL
- MySQL - ukazi konzole Windows
- SQL Kje: metode in primere uporabe
- Izjava SQL INNER JOIN: primeri, sintaksa in funkcije
- Kaj je poizvedba SQL?
- Izbriši stavko Izbriši MySQL
- Praksa uporabe funkcije count MySQL
- Brisanje podvojenih kopij MySQL
- Kako ustvariti bazo podatkov MySQL
- Kako uporabljati v MySQL: časovni žig in datetime
- Dostop do vzorčnih rezultatov z nabiralnikom MySQL
- Združevanje zapisov MySQL: po skupinah
- V poizvedbi MySQL izberite enolične zapise: izberite ločeno
- Replication MySQL. Kratek izlet
- Osnovni tipi podatkov Mysql