Tipuri de îmbinări MySQL | Uniri MySQL [cu sintaxă]

Publicat: 2020-12-09

Cuprins

Introducere

MySQL este un sistem de management al bazelor de date relaționale (RDBMS) open-source susținut de Oracle. MySQL este format din două cuvinte - „My”, numele fiicei co-fondatorului Michael Widenius, și „SQL”, abrevierea pentru Structured Query Language.

Cuvântul Relațional în RDBMS este elementul fundamental pe care JOINS în MySQLwork. Pot exista multe tipuri și numere de tabele în orice bază de date. JOINS, după cum sugerează și numele, leagă tabele împreună folosind coloane comune. Un exemplu de bază este că Tabelul 1 conține detalii despre angajați, iar Tabelul 2 conține detalii despre proiect.

Dacă trebuie să verificăm proiectele în care este implicat un angajat, ne putem alătura tabelelor pe numele angajatului sau id-ul angajatului, prin urmare, făcând acest lucru, vom alătura mesele și noul tabel virtual (poate fi salvat) poate fi accesat cu toate informațiile necesare. .

Caracteristici

  • MySQL este Open-Source și un RDBMS adecvat pentru a accesa și gestiona înregistrările tabelelor.
  • Acesta acceptă limbajul de codare SQL, care este foarte comun în domeniul managementului bazelor de date.
  • MySQL este de bază și ușor de utilizat. Are o cantitate copleșitoare de documentație dacă cineva este blocat la o anumită problemă.
  • MySQL are un nivel de securitate foarte puternic. Parolele sunt criptate, astfel încât datele sensibile sunt protejate de intruși.
  • MySQL este scalabil, deoarece acceptă multi-threading. Multi-Threading este responsabil pentru execuția rapidă a interogărilor și manipularea datelor, chiar dacă tabelul este foarte mare.
  • MySQL are arhitectură Client/Server. Există un server de bază de date și mulți clienți (programe de aplicație) care sunt conectați la server.

Tipuri de îmbinări

Inner Join

Inner join este tipul implicit de îmbinare în MySQL. Se alătură și returnează înregistrările care se potrivesc din cele două tabele. Acesta va compara fiecare rând al unui tabel cu altul și va verifica condiția de alăturare. Dacă condiția este îndeplinită, este creat un nou rând cu coloanele din ambele tabele și acest nou rând este inclus în rezultat.

Fragment de cod:

SELECTAȚI t1 . emp_id , t1.emp_name,t2.project_name

FROM angajat ca t1

Proiectul INNER JOIN ca t2

ON t1.project_id = t2 . project_id

În această interogare, există două tabele. Primul tabel constă din detaliile angajaților, iar al doilea cuprinde toate proiectele care se desfășoară în prezent. După rularea interogării de mai sus, MySQL va returna toți angajații cu detaliile proiectului respectiv. Aici coloana project_id este o cheie străină în tabelul de angajați și o cheie primară în tabelul proiecte. Angajații fără proiect_id sau project_id fără niciun angajat nu vor fi returnați.

Left Join

Left join, joins and returns matching records from the două tabele și înregistrările nepotrivite din primul tabel. Left join returnează în esență rezultatul îmbinării interioare + înregistrările nepotrivite din primul tabel. Aceste rânduri nepotrivite vor avea, de asemenea, coloanele din tabelul 2, dar valoarea din acele coloane va fi nulă, deoarece nu există date potrivite pentru acestea.

Fragment de cod:

SELECTAȚI t1 . emp_id , t1.emp_name,t2.project_name

FROM angajat ca t1

LEFT JOIN proiect ca t2

ON t1.project_id = t2 . project_id

În această interogare, există două tabele. Primul tabel constă din detaliile angajaților, iar al doilea cuprinde toate proiectele care se desfășoară în prezent. După rularea interogării de mai sus, MySQL va returna toți angajații cu detaliile proiectului respectiv și, de asemenea, detaliile angajaților neavând nici un project_id alocat. Aici coloana project_id este o cheie străină în tabelul de angajați și o cheie primară în tabelul proiecte.

Citiți: Redenumiți numele coloanei în SQL

Alăturați-vă dreapta

Alăturarea la dreapta este foarte asemănătoare cu alăturarea stângă, doar că acum înregistrările nepotrivite din al doilea tabel vor fi incluse în ieșire și numai înregistrările care se potrivesc din primul tabel.

Fragment de cod:

SELECTAȚI t1 . emp_id , t1.emp_name,t2.project_name

FROM angajat ca t1

Proiectul RIGHT JOIN ca t2

ON t1.project_id = t2 . project_id

După rularea interogării de mai sus, MySQL va returna toți angajații cu detaliile proiectului respectiv și, de asemenea, detaliile proiectelor care nu au angajați potriviți. Coloanele cu detaliile angajatului vor fi NULL în aceste cazuri.

Alăturare completă

După cum sugerează și numele, alăturarea completă returnează toate înregistrările potrivite și nepotrivite. Dacă MySQL poate găsi rânduri potrivite pe coloana dorită, acele înregistrări vor fi potrivite. Restul rândurilor vor avea valori NULL.

Fragment de cod:

SELECTAȚI *

FROM angajat ca t1

Proiectul FULL OUTER JOIN ca t2

ON t1.project_id = t2 . project_id

După rularea interogării de mai sus, MySQL va returna toți angajații cu detaliile proiectului respectiv, precum și detaliile angajaților care nu au proiecte și proiectele care nu au angajați potriviți. Anumite coloane vor avea valori NULL în consecință.

Cross Join

După cum sugerează și numele, îmbinarea încrucișată va uni fiecare rând al tabelului 1 cu fiecare rând al tabelului 2. Indiferent de coloanele care se potrivesc. Prin urmare, dacă există 5 înregistrări în fiecare tabel, rezultatul va avea 25 de rânduri, deoarece fiecare rând este asociat cu un alt rând.

Fragment de cod:

SELECTAȚI *

FROM angajat ca t1

Proiectul CROSS JOIN ca t2

După rularea interogării de mai sus, MySQL va returna toți angajații cu toate detaliile proiectului. Deși nu are prea mult sens să vizualizați aceste informații, dar Cross Joins sunt importante și necesare în unele cazuri speciale și specifice.

Citiți și: Întrebări și răspunsuri la interviu SQL

Înscrieți-vă la cursurile de inginerie software de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

JOINS sunt o parte importantă a extragerii datelor. Acestea ajută la combinarea datelor din diverse tabele în funcție de nevoile utilizatorului. Singurul dezavantaj al JOINS poate fi că devin complicat de scris uneori. La sfârșitul zilei, JOINS-urile sunt foarte utile și pot fi implementate diferite tipuri de join-uri în MySQL.

În general, învățarea și practicarea practică a tuturor bazelor de date menționate în acest articol se vor adăuga experienței tale. Parcurgeți prezentarea generală a cursului, învățarea și oportunitățile de angajare implicate de acesta - platforme precum upGrad oferă cursuri puternice, concepute de institute de mare renume, cum ar fi IIIT-B, în Programul Executive PG Dezvoltare completă.

Pregătiți-vă pentru o carieră a viitorului

Aplicați acum pentru masterat în inginerie software