MySQL JOIN: opis, primjer upotrebe naredbi i preporuka
dizajn baza podataka
sadržaj
- Koncept riječi join
- Vrste struktura za udruživanje
- Stvaranje i popunjavanje stolova za kasniju upotrebu
- Upotreba unutarnjeg pridruživanja
- Značajke korištenja lijevog udruživanja
- Lijevi primjer
- Korištenje mjesta u konstrukciji pridruživanje
- Upotreba pridruživanja za promjenu podataka u tablicama
- Izrada složenih upita
- Upotreba podupita
Č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
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:
- Unutarnje veze.
- Pridružite se.
- Lijevo se pridruži.
- 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.
U drugoj tablici opisujemo neka svojstva objekata iz prve tablice kako bismo mogli raditi s njima u budućnosti.
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:
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.
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:
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.
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:
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:
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.
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.
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.
- SQL datoteku. SQL format datoteke: opis proširenja
- MySQL je ono što i gdje se primjenjuje?
- Pregled sustava za upravljanje bazama podataka
- MySQL - što je to? Pogreška MySQL-a
- Koristeći MySQL: umetnite u
- MySQL - zahtjev u zahtjevu. MySQL: primjeri upita. Ugrađeni MySQL upiti
- MySQL - Naredbe konzole sustava Windows
- Zamke DML-naredbi ažuriraju MySQL
- SQL gdje: metode primjene i primjeri
- SQL INNER JOIN izjava: primjeri, sintaksa i značajke
- Što je SQL upit?
- Obriši izjavu Izbriši MySQL
- Praksa korištenja funkcije računanja MySQL
- Brisanje duplikata MySQL-a
- Kako stvoriti mysql bazu podataka
- Kako stvoriti bazu podataka i što je SQL?
- Kako koristiti u MySQL: vremensku oznaku i datetime
- Pristup rezultatima uzorka putem MySQL fetch polja
- Grupiranje MySQL zapisa: skupina po
- Osnovne vrste podataka Mysql
- DBMS je sustav upravljanja podacima