MySQL JOIN: opis, primjer upotrebe naredbi i preporuka

dizajn baza podataka

Internetski se resursi praktički ne razlikuju od standardnih baza podataka razvijenih u sustavu MS SQL SERVER. Obično se za takve resurse koristi jezik MY SQL, iako se može koristiti i za razvoj standardnih softverskih proizvoda za lokalnu upotrebu. Ali ovaj članak ne govori o tome.

mysql se pridruži

Često kada radite s bazama podataka na svakom od jezika je zadatak napraviti izbor podataka za izlaz na razne izvještaje, grafove i tako dalje. U pravilu, prilikom provedbe takvih zadataka, potrebno je koristiti samo jedan, ali i nekoliko tablica, kombinirajući ih u jedan upit, znatno komplicirajući njegovu konstrukciju. Istodobno, potrebno je uzeti u obzir kako će podaci biti izlazni, kako će se tablice "povući" i što će rezultat biti najprikladniji za programera. Da biste riješili takve probleme, jedan od standardnih konstrukcija MySQL jezika je Join.

Koncept riječi Join

Jezici razvoj baze podataka, bez obzira na vrstu jezika, uzimajući kao osnovu standardne riječi engleskog rječnika (zbog čega je uvjet da znate engleski, što Bude puno lakše raditi s tablicama). Da biste implementirali povezivanje tablica u uzorku, koristi se ista riječ - Pridružite se. U programskom jeziku baze podataka Koristi se Moj SQL. Prijevod ove službene riječi je upravo onakav kao i na samom jeziku - "ujedinjenje".

Tumačenje MySQL-Join konstrukta, i bilo koji od njih, bit će točno isto. Ako dešifrirati svrhu dizajna, to jest shemu njegova djelovanja, dobivamo sljedeće značenje: konstrukcije će omogućiti prikupljanje neophodnih polja iz različitih tablica ili ugniježđenih upita u jedan uzorak.

Vrste struktura za udruživanje

mysql se pridruži

Ako programer treba prikupiti uzorak iz nekoliko tablica i on zna koja ključna polja u njima i koja su podaci potrebni za izvješće, tada se jedna od osnovnih konstrukcija sindikata može upotrijebiti za postizanje željenog rezultata. Osnovne konstrukcije (za spajanje tablica) su četiri:

  1. Unutarnje veze.
  2. Pridružite se.
  3. Lijevo se pridruži.
  4. Pravo pridruživanje.

Ovisno o zadatku, svaka od standardnih dizajna dat će različite rezultate, što će vam omogućiti da u kratkom vremenu primite izvještaje o različitim parametrima.

Stvaranje i popunjavanje stolova za kasniju upotrebu

Prije nego počnete, na primjer, razmotriti mehanizme rada s podatkovnim federacijama, vrijedno je pripremiti nekoliko tablica s kojima ćemo i dalje raditi. To će vam pomoći vizualno prikazati sva načela operatera, tako da je početnicima lakše naučiti sve osnove programskih tablica.

Prva tablica će opisati neke stavke koje osoba stalno susreće tijekom svog života.

mysql se pridruži

U drugoj tablici opisujemo neka svojstva objekata iz prve tablice kako bismo mogli raditi s njima u budućnosti.

lijevo pridružite mysql

Općenito, dvije tablice bit će dovoljne za prikaz njihovog rada primjerima. Sada možete početi razmotriti naše dizajne.

Upotreba unutarnjeg pridruživanja

Kada koristite MySQL-Join Ineer konstrukt, vrijedi uzeti u obzir neke od njegovih značajki. Ovaj dizajn omogućuje vam odabir iz obje tablice samo onih zapisa koji se nalaze u prvoj i drugoj tablici. Kako to radi? U prvoj tablici imamo glavni ključ - ID, koji označava serijski broj zapisa u tablici.

Prilikom izrade druge tablice, isti se ključ koristi kao serijski broj, primjer se može vidjeti na slikama. Kada odaberete podatke, Odabrani operater određuje samo zapise čiji su brojevi redoslijeda isti, što znači da postoje i u prvoj i drugoj tablici.

Prilikom korištenja dizajna morate razumjeti koje podatke trebate dobiti. Najčešća pogreška, posebno za početnike Ovo je iracionalnu i neprikladnu upotrebu dizajna Unutrašnjosti. Kao primjer, MySQL Unutarnji priključak, možete razmotriti skriptu koja će nam se vratiti iz prethodno opisanih i popunjenih informacija o objektima i njihovim svojstvima. Ali postoji nekoliko načina za korištenje strukture. U tom smislu Moj SQL je vrlo fleksibilan jezik. Dakle, možete razmotriti primjere korištenja MySQL Unutarnje veze.

Kombiniranje tablica bez navođenja parametara. U ovom slučaju dobivamo rezultat takvog plana:

mysql unutarnji pridruživanje

Ako naznačimo upotrebu riječi Korištenje, potrebno je uzeti u obzir glavne ključeve zapisa u tablicama, rezultat odabira će se radikalno promijeniti. U tom slučaju dobivamo uzorak koji će vratiti samo one redove koji imaju iste glavne ključeve.

mysql pridružite se primjerima

Također je moguće koristiti treću varijantu korištenja strukture, kada upit "na" specificira polja na kojima se tablice trebaju pridružiti. U ovom slučaju, uzorak će vratiti sljedeće podatke:

mysql pridružite se odabiru

Značajke korištenja lijevog udruživanja

Ako razmotrimo drugi način kombiniranja tablica pomoću konstrukta MySQL-Join, možete vidjeti razliku u podacima koji se emitiraju. Ovaj mehanizam je lijevi konstrukt.



Koristeći strukturu Left Pridružite MySQL ima neke značajke i, kako unutarnje, zahtijeva jasno razumijevanje rezultata treba dobiti.

U tom slučaju prvo će biti odabrani svi zapisi iz prve tablice, a naknadno će biti pridruženi i zapisi iz tablice drugog svojstva. U tom slučaju, ako postoji zapis, na primjer, „stolica” u prvoj tablici, a druga tablica nema svojstva na njega, lijevo operator prikazuje ispred ulaska na nulu, koja govori programer da su znakovi na ovoj temi se ne čuje ,

Pomoću ovog dizajna omogućit će vam da odredite koja polja ili, primjerice, roba u trgovini nije izložena cijeni, jamstvenog roka i tako dalje.

Lijevi primjer

Da bismo u praksi razmotrili lijevog operatera konstruktora MySQL, koristimo tablice opisane ranije. Na primjer, trebate odabrati cijeli popis proizvoda koji su u trgovini i provjeriti koji od njih nisu označeni znakovima ili svojstvima. U tom slučaju, uzorak će prikazati sve proizvode na zaslonu, a za one koji nemaju vlasništvo, prikazat će se prazne vrijednosti.

pridružite se mysql ažuriranju

Korištenje mjesta u konstrukciji Pridruživanje

Kao parametar, pridruživanje može obuhvaćati ne samo polja s kojima želite povezati tablice, već može uključivati ​​i operatera Gdje clause.

Na primjer, razmislite o skriptu koja bi nam trebala vratiti samo one zapise koji nemaju značajku. U tom slučaju, potrebno je dodati dizajn Pridružite uvjete za operatera i ukazuju na to da bi se trebao vratiti kao rezultat.

Kada se koristi u MySQL Join - Gdje, morate jasno razumjeti da će se prikazati samo oni zapisi na koje se odnosi navedeni uvjet i odabir će izgledati ovako:

mysql pridružite se gdje

Takvi zahtjevi omogućuju odabir određenih podataka koji se odnose na stanje koje odabere programer. Postoji nekoliko takvih uvjeta, ali istodobno određujući parametre odabira podataka iz spojenih tablica.

Upotreba pridruživanja za promjenu podataka u tablicama

Pridružni konstrukt zapravo je univerzalan. Omogućuje ne samo izvođenje različitih uzoraka, već i uključivanje u zahtjeve od jednog do nekoliko tablica, unijeti dodatne uvjete u uzorak. Dizajn se također može koristiti za druge operacije podataka. Dakle, pridruživanje se može koristiti za izmjenu podataka u tablici. Umjesto toga, pojasniti uvjete u tablici ili u tim slučajevima, ako želite ažurirati podatke u nekoliko tablica za iste uvjete.

Na primjer, razmislite o ovom problemu. Dane su tri tablice u kojima postoje neki podaci. Morate unijeti podatke u obje tablice pomoću jednog upita. Da biste riješili takve zadatke, možete upotrijebiti Pridruženi konstrukt u naredbi Update. Vrsta povezanog konstrukta sama, kao u slučaju dohvaćanja podataka, ovisi o rezultatu kojeg programer želi dobiti.

Uzmimo u obzir najjednostavniji primjer. Morate ažurirati isti upit za iste uvjete. Takvi upiti izgrađeni su radi optimizacije rada s bazom podataka. Zašto napisati različite upite za svaki od tablica, ako možete izvršiti sve manipulacije podacima s jednim upitom? primjer MySQL ažuriranje Pridružite se našem slučaju će biti:

mysql lijevi primjeri

Izrada složenih upita

Vrlo često, kada radite s bazom podataka, potrebno je izraditi upite ne samo kod spajanja nekoliko tablica, već i kod korištenja podupita. Takve zadaće prilično su teške za razumijevanje početnika programera baze podataka. Teškoća je u tome što morate razmisliti kroz svaki korak, odrediti koje podatke iz koje tablice ili upita trebate dobiti i kako ćete morati raditi s njima u budućnosti.

Za specifičnije razumijevanje, možete uzeti u obzir (u Pridruživanju MySQL-u) primjere složenih upita. Ako ste početnik i tek počinjete raditi s bazama podataka, takva obuka će imati koristi. Idealna opcija bit će MySQL Left Join examples.

lijevo pridružite mysql

Ovaj zahtjev će nam vratiti 58 evidencija o prodajnim ugovorima za koje je gotovina u gotovini završena ili postoji za odabrani datum. U ovom slučaju to je trenutačni datum. Također u uzorku, dodan je uvjet da naziv ugovora mora sadržavati simbole "123". Informacije prikazane na zaslonu (podaci) bit će sortirane - naručivanje prema broju ugovora.

Sljedeći primjer prikazuje detalje svih plaćanja u kojima je naveden broj ugovora.

mysql se pridruži

Upotreba podupita

Kao što je ranije spomenuto, kada radite s bazama podataka, možete kombinirati ne samo tablice, već i tablicu s upitom. Ovaj dizajn se uglavnom koristi za ubrzavanje upita i optimizaciju.

Na primjer, ako želite od stola, koji ima na stotine polja i, recimo, tisuću evidencije, izabrati samo dva polja, potrebno je koristiti upit koji vraća samo potrebna polja, te ga kombinirati s glavnom uzorku podataka. Kao primjer MySQL Join Select, možete razmotriti upit ove vrste:

To nisu svi načini korištenja standardnih konstrukata MySQL-a, već samo standardnih. Kako koristiti dizajn i pridružiti u bilo kojem od njegovih oblika, programer odlučuje, ali to je vrijedno pamćenja i uzeti u obzir ono što je rezultat treba dobiti na upit.

Dijelite na društvenim mrežama:

Povezan
MySQL je ono što i gdje se primjenjuje?MySQL je ono što i gdje se primjenjuje?
Pregled sustava za upravljanje bazama podatakaPregled sustava za upravljanje bazama podataka
MySQL - što je to? Pogreška MySQL-aMySQL - što je to? Pogreška MySQL-a
Koristeći MySQL: umetnite uKoristeći MySQL: umetnite u
MySQL - zahtjev u zahtjevu. MySQL: primjeri upita. Ugrađeni MySQL upitiMySQL - zahtjev u zahtjevu. MySQL: primjeri upita. Ugrađeni MySQL upiti
MySQL - Naredbe konzole sustava WindowsMySQL - Naredbe konzole sustava Windows
Zamke DML-naredbi ažuriraju MySQLZamke DML-naredbi ažuriraju MySQL
SQL gdje: metode primjene i primjeriSQL gdje: metode primjene i primjeri
SQL INNER JOIN izjava: primjeri, sintaksa i značajkeSQL INNER JOIN izjava: primjeri, sintaksa i značajke
Što je SQL upit?Što je SQL upit?
» » MySQL JOIN: opis, primjer upotrebe naredbi i preporuka
LiveInternet