MySQL JOIN: opis, primjer upotrebe naredbi i preporuka

Razvoj baza podataka internetskih resursapraktički se ne razlikuje od standardnih baza podataka razvijenih u 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 u svakoj od njihjezika zadatak je napraviti izbor podataka za izlaz u različitim izvješćima, grafikonima 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 za razvoj baze podataka, nije važno što točnoto je jezik, standardne riječi s engleskog jezika koriste se kao osnova (to je razlog zašto, pod uvjetom da znate engleski, bit će vam puno lakše raditi s tablicama). Da biste implementirali povezivanje tablica u uzorku, koristi se ista riječ - Pridružite se. U programskom jeziku za baze podataka koristi se My SQL. Prijevod ove službene riječi je upravo onakav kao i na samom jeziku - "ujedinjenje".

Tumačenje MySQL-Join konstrukta, ibilo koji od njih će biti točno isti. 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 iznekoliko tablica i on zna koja ključna polja u njima i kakvi su podaci potrebni za izvješće, a zatim možete upotrijebiti jednu od osnovnih nacrta sindikata kako biste postigli željeni rezultat. 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, primjerice, razmislitemehanizama za rad s podatkovnim savezima, 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 konstrukt - Pridružite se Ineeruvrijedi razmotriti 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.

Pri izradi druge tablice, isti ključKoristi se 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.

Pri korištenju konstrukcije,koji su podaci potrebni za primanje. Najčešća pogreška, naročito za početnike programera baze podataka, jest iracionalna i netočna upotreba dizajna Unutrašnjost. 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 ukazujemo kroz pomoćnu riječ Uporaba, toPotrebno je uzeti u obzir glavne ključeve zapisa u tablicama, rezultat uzorka ć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

Treća mogućnost je također mogućakonstruira, kada se u upitu koristi riječ "on" kako bi odredio polja po kojima bi se stolovi trebali 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.

Korištenje konstrukcije lijevog pridruživanja MySQL ima neke značajke i, kao što je unutarnji, zahtijeva jasno razumijevanje rezultata koji se dobiva.

U tom će se slučaju najprije odabrati svi zapisiiz prve tablice, a daljnja k tome su vezani na drugi stol 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, jamstvenom roku i tako dalje.

Lijevi primjer

Razmotriti operatera u praksiLijevo pridruživanje MySQL koristi prethodno opisane tablice. 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 trebalaVratite nam se samo oni zapisi za koje se ne prikazuje znak. U tom slučaju, u Prilogu konstruktu, morate dodati izjavu o stanju i odrediti što točno želite 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 vam da uzmete uzorakSpecifični podaci 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žuriranja Pridružite se našem slučaju:

mysql lijevi primjeri

Izrada složenih upita

Vrlo često kada radite s bazom podatakaPotrebno je izraditi upite ne samo kod spajanja nekoliko tablica, već i pomoću 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 konkretnije razumijevanje,(u MySQL Join) primjeri 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 unosa ugovoraProdaja, za koju je ispunjen ili postoji postojeći saldo sredstava 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 podatakamožete kombinirati ne samo tablice, već i tablicu s upitom. Ovaj dizajn se uglavnom koristi za ubrzavanje upita i optimizaciju.

Na primjer, ako je potrebno iz tablice kojeima nekoliko stotina polja i, recimo, tisuću zapisa, odaberite samo dva polja, a zatim upotrijebite upit koji će vratiti samo obavezna polja i spojiti ga s glavnim uzorkom podataka. Kao primjer MySQL Join Select, možete razmotriti upit ove vrste:

mysql se pridruži

Nisu svi načini upotrebe standardaMySQL konstruira, ali samo one standardne. 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.

</ p>
volio:
0
Vezani članci
SQL INNER JOIN izjava: primjeri, sintaksa
Mnogi do mnogi odnosi: primjer u Accessu, u
Kako radi instalacija MySQL-a?
Starbound: naredbe konzole
Assembler - Naredbe za početnike
MySQL replikacija. Kratak izlet
Kako stvoriti poslužitelj Lineage 2
DBMS je sustav upravljanja podacima
MySQL - što je to? Pogreška MySQL-a
Popularni postovi
gore