MySQL JOIN: o descriere, un exemplu de utilizare a comenzii și recomandări

Dezvoltarea de baze de date cu resurse de Internetpractic nu diferă de bazele de date standard dezvoltate în MS SQL SERVER. În mod obișnuit, pentru astfel de resurse, limba MY SQL este utilizată, deși poate fi folosită și pentru a dezvolta produse software standard pentru uz local. Dar acest articol nu este despre asta.

mysql se alăture

Adesea, atunci când lucrează cu baze de date în fiecare dinlimbile este sarcina de a face o selecție de date pentru ieșire într-o varietate de rapoarte, grafice și așa mai departe. De regulă, atunci când se implementează astfel de sarcini, este necesar să se folosească nu unul, ci mai multe tabele, combinându-le într-o singură interogare, complicând considerabil construcția sa. În același timp, este necesar să se țină seama de modul în care vor fi obținute datele, de modul în care tabelele vor fi "trase" și ce rezultat va fi cel mai acceptabil pentru programator. Pentru a rezolva astfel de probleme, una dintre construcțiile standard ale limbii MySQL este Join.

Conceptul cuvântului Join

Baze de date de dezvoltare a bazelor de date, nu contează exact ce anumeacesta este limbajul, cuvintele standard din dicționarele în limba engleză sunt folosite ca bază (de aceea, cu condiția să știi limba engleză, va fi mult mai ușor pentru tine să lucrezi cu mese). Pentru a implementa conexiunea tabelelor în eșantion, se folosește același cuvânt - Alăturați-vă. În limbajul de programare a bazei de date se utilizează My SQL. Traducerea acestui cuvânt oficial este exact aceeași ca și în limba însăși - "unificare".

Interpretarea constructului MySQL-Join, șioricare dintre ele va fi exact la fel. Dacă descifrăm scopul proiectării, și anume schema de funcționare a acesteia, obținem următoarea semnificație: construcțiile vor permite colectarea câmpurilor necesare din diferite tabele sau interogări imbricate într-un singur eșantion.

Tipuri de structuri pentru asociere

mysql se alăture

Dacă programatorul trebuie să colecteze un eșantion dinmai multe mese și el știe care sunt câmpurile cheie din ele și ce fel de date sunt necesare pentru raport, atunci puteți utiliza unul dintre modelele de bază ale uniunii pentru a obține rezultatul dorit. Construcțiile de bază (pentru mesele de îmbinare) sunt patru:

  1. Intrarea internă.
  2. Intrarea în cruce.
  3. Ajunge la stânga.
  4. Intrați drept.

În funcție de sarcină, fiecare dintre modelele standard va da rezultate diferite, ceea ce vă va permite să primiți rapoarte despre diferiți parametri într-un timp scurt.

Crearea și popularea tabelelor pentru utilizare ulterioară

Înainte de a începe, de exemplu, ia în consideraremecanismele de lucru cu federațiile de date, merită pregătită mai multe mese cu care vom continua să lucrăm. Acest lucru va ajuta vizual vizual toate principiile operatorilor, în plus, astfel, începătorii sunt mai ușor de învățat toate elementele de bază ale tabelelor de programare.

Primul tabel va descrie unele elemente pe care o persoană le întâlnește în mod constant pe tot parcursul vieții.

mysql se alăture

În al doilea tabel, descriem câteva proprietăți ale obiectelor din prima masă, astfel încât să putem lucra cu ele în viitor.

stânga se alăture mysql

În general, două mese vor fi suficiente pentru a-și arăta munca prin exemplu. Acum puteți începe să luați în considerare modelele noastre.

Utilizarea Inner Join

Când folosiți construirea MySQL - Alăturați-vă lui Ineermerită luate în considerare unele dintre caracteristicile sale. Acest design vă permite să selectați din ambele tabele numai acele înregistrări care se află atât în ​​primul tabel, cât și în al doilea. Cum funcționează? În primul tabel avem tasta principală - ID, care indică numărul de serie al înregistrărilor din tabel.

Când creați al doilea tabel, aceeași cheieFolosit ca număr de serie, un exemplu poate fi văzut în figuri. Atunci când selectați date, operatorul Select va determina numai înregistrările ale căror numere de ordine sunt identice, ceea ce înseamnă că acestea există în primul și al doilea tabel.

Când se utilizează construcția,ce date este necesar să primim. Cea mai obișnuită greșeală, în special pentru un programator de baze de date pentru începători, este utilizarea irațională și incorectă a proiectului Inner Join. De exemplu, MySQL Inner Join, puteți lua în considerare un script care ne va reveni din tabele descrise și completate anterior despre informații despre obiecte și proprietățile acestora. Dar pot exista mai multe moduri de utilizare a structurii. În acest sens, My SQL este un limbaj foarte flexibil. Deci, puteți lua în considerare exemple de utilizare a MySQL Inner Join.

Combinarea tabelelor fără specificarea parametrilor. În acest caz, obținem rezultatul unui astfel de plan:

Intrare internă în MySQL

Dacă indicăm prin cuvântul Utilitar Utilizarea, astaEste necesar să se ia în considerare cheile principale ale înregistrărilor din tabele, rezultatul eșantionului se va schimba radical. În acest caz, primim o probă care va returna numai acele rânduri care au aceleași chei principale.

mysql se alăture exemplelor

O a treia opțiune este de asemenea posibilăconstruiește, atunci când în interogare cuvântul "on" este folosit pentru a specifica câmpurile prin care tabelele ar trebui să fie unite. În acest caz, eșantionul va returna următoarele date:

mysql join join select

Caracteristicile utilizării asocierii "Left Join"

Dacă luăm în considerare un alt mod de combinare a tabelelor utilizând constructul MySQL-Join, puteți vedea diferența dintre datele care sunt date. Acest mecanism este construcția stângă.

Utilizarea constructului "Alăturați-vă la stânga" MySQL are câteva caracteristici și, la fel ca Inner, necesită o înțelegere clară a rezultatului care trebuie obținut.

În acest caz, toate înregistrările vor fi selectate mai întâide la primul tabel și mai târziu vor fi atașate la înregistrările din tabelul de proprietăți al doilea. În acest caz, în cazul în care există o înregistrare, de exemplu, „scaun“, în primul tabel și al doilea tabel nu sunt proprietăți la acesta, stânga operatorul afișează în fața intrării la nul, care spune programatorul că semnele de pe acest subiect nu este auzit .

Utilizarea acestui design vă va permite să stabiliți câmpurile sau, de exemplu, bunurile din magazin nu sunt expuse prețului, perioadei de garanție și așa mai departe.

Exemplul din stânga

Să ia în considerare în practică operatorulLeft Join MySQL utilizează tabelele descrise anterior. De exemplu, trebuie să selectați întreaga listă de produse aflate în magazin și să verificați care dintre acestea nu sunt marcate cu semne sau proprietăți. În acest caz, eșantionul va afișa toate produsele de pe ecran, iar pentru cele care nu au o proprietate, se vor afișa valori goale.

actualizare mysql join

Utilizarea Unde în constructul Join

Ca parametru, o asociere poate include nu numai câmpurile la care doriți să conectați tabelele, ci poate include și operatorul Clauză Where.

De exemplu, luați în considerare un script care ar trebui să fieReveniți la noi numai acele înregistrări pentru care nu este afișat nici un semn. În acest caz, în constructul Alăturați, trebuie să adăugați o declarație de condiție și să specificați exact ceea ce doriți să reveniți ca rezultat.

Când este folosit în MySQL Join - În cazul în care trebuie să înțelegeți în mod clar că vor fi afișate numai acele înregistrări la care se aplică condiția specificată și selectarea va arăta astfel:

mysql se alăture în cazul în care

Aceste solicitări vă permit să examinațiDate specifice care se referă la starea aleasă de programator. Există mai multe astfel de condiții, dar în același timp specificând parametrii de selecție a datelor din tabelele îmbinate.

Folosind Alăturați pentru a schimba datele în tabele

Constructul Join este, de fapt, universal. Acesta permite nu numai să facă o varietate de probe, ci și să includă în cererile de la unul la mai multe tabele, să introducă condiții suplimentare în eșantion. Designul poate fi folosit și pentru alte operații de date. Deci, Join poate fi folosit pentru a modifica datele într-un tabel. Mai degrabă, pentru a clarifica condițiile din tabel sau în acele cazuri, dacă doriți să actualizați datele în mai multe tabele pentru aceleași condiții.

De exemplu, ia în considerare această problemă. Există trei tabele în care există date. Trebuie să faceți o modificare a datelor din ambele tabele, utilizând o interogare. Doar pentru a rezolva astfel de sarcini, puteți utiliza constructul Join în comanda Update. Tipul constructului Alăturați depinde, ca și în cazul preluării datelor, de rezultatul dorit de programator.

Să luăm în considerare cel mai simplu exemplu. Trebuie să actualizați aceeași interogare pentru aceleași condiții. Astfel de interogări sunt construite pentru a optimiza activitatea cu baza de date. De ce scrieți diferite interogări pentru fiecare tabel, dacă puteți efectua toate manipulările de date cu o singură interogare? Exemplul actualizării MySQL Alăturați-vă în cazul nostru va fi:

mysql stânga se alăture exemple

Construirea de interogări complexe

Destul de des atunci când lucrezi cu o bază de dateEste necesar să se creeze interogări nu numai prin fuziunea mai multor mese, ci și cu utilizarea subdotării. Astfel de sarcini sunt destul de dificile pentru înțelegerea unui programator de baze de date pentru începători. Dificultatea este că trebuie să gândiți prin fiecare pas, să determinați ce date din care tabelă sau interogare trebuie să obțineți și cum veți avea nevoie să lucrați cu ei în viitor.

Pentru o înțelegere mai concretă,(în MySQL Join) exemple de interogări complexe. Dacă sunteți începător și începeți să lucrați cu baze de date, atunci o astfel de instruire va fi benefică. Opțiunea ideală va fi exemplele MySQL left join.

stânga se alăture mysql

Această solicitare ne va returna 58 de intrări de contracteVânzări, pentru care se completează sau există soldul de fonduri pentru data selectată. În acest caz, aceasta este data curentă. De asemenea, în eșantion, sa adăugat condiția ca numele contractului să conțină simbolurile "123". Informațiile afișate pe ecran (datele) vor fi sortate - comandând numărul de contract.

Următorul exemplu va afișa detaliile tuturor plăților în care este specificat numărul contractului.

mysql se alăture

Utilizarea Subqueries

Așa cum am menționat mai devreme, atunci când lucrăm cu bazele de dateputeți combina nu numai mesele, ci și un tabel cu o interogare. Acest design este utilizat în principal pentru a accelera interogarea și a optimiza interogarea.

De exemplu, dacă este necesar dintr-un tabel careare sute de câmpuri și, să zicem, o mie de înregistrări, pentru a alege numai două domenii, este necesar să se utilizeze o interogare care returnează numai câmpurile necesare, și se combină cu eșantionul principal de date. Ca exemplu de MySQL Join Select, puteți lua în considerare o interogare de acest tip:

mysql se alăture

Nu toate modalitățile de a utiliza standardulMySQL construieste, dar numai cele standard. Modul de folosire a constructului Join și în care din formele sale, programatorul însuși decide, dar merită să ne amintim și să luăm în considerare rezultatul care trebuie obținut atunci când interogarea este executată.

</ p>
a placut:
0
Articole similare
Instrucțiunea SQL INNER JOIN: exemple, sintaxă
Relații multe-la-multe: un exemplu în Access, în
Cum funcționează instalarea MySQL?
Starbound: comenzi pentru console
Assembler - Comenzi pentru începători
Replicarea MySQL. Excursie scurtă
Cum se creează un server Lineage 2
DBMS este un sistem de management al datelor
MySQL - ce este? Eroare MySQL
Postări populare
în sus