Tipuri de îmbinări MySQL | Uniri MySQL [cu sintaxă]
Publicat: 2020-12-09Cuprins
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ă.
