SQL prisijungimas operacija sujungia duomenis arba eilutes iš dviejų ar daugiau lentelių pagal bendrą jų lauką.
Šiame straipsnyje mes sužinosime apie Prisijungia prie SQL, apimantis JOIN tipus, sintaksę ir pavyzdžius.
SQL JOIN
SQL JOIN sąlyga naudojama norint pateikti užklausas ir pasiekti duomenis iš kelių lentelių, tarp jų nustatant loginius ryšius. Jis gali vienu metu pasiekti duomenis iš kelių lentelių, naudodamas bendras raktines reikšmes, kurios dalijasi skirtingose lentelėse.
SQL JOIN galime naudoti su keliomis lentelėmis. Jis taip pat gali būti suporuotas su kitais sakiniais, populiariausias naudojimas bus JOIN su WERE sąlyga filtruoti duomenų gavimą.
SQL JOIN pavyzdys
Apsvarstykite dvi toliau pateiktas lenteles taip:
Studentas:
Studentų kursas :

Abi šios lentelės yra sujungtos vienu bendru raktu (stulpeliu), ty ROLL_NO.
JOIN operaciją galime atlikti naudodami nurodytą SQL užklausą:
SELECT s.roll_no, s.name, s.address, s.phone, s.age, sc.course_id FROM Student s JOIN StudentCourse sc ON s.roll_no = sc.roll_no;>
Išvestis:
| ROLL_NO | VARDAS | ADRESAS | TELEFONAS | AMŽIAUS | COURSE_ID |
| 1 | ŠIURUS | DELIS | XXXXXXXXX | 18 | 1 |
| 2 | PRAKTIKA | BIHAR | XXXXXXXXX | 19 | 2 |
| 3 | RIJANKA | SILGURI | XXXXXXXXX | dvidešimt | 2 |
| 4 | GILIAI | RAMNAGARAS | XXXXXXXXX | 18 | 3 |
| 5 | SAPTARHI | KOLKATA | XXXXXXXXX | 19 | 1 |
JOIN tipai SQL
SQL yra daugybė sujungimų tipų. Atsižvelgiant į naudojimo atvejį, galite naudoti skirtingo tipo SQL JOIN sąlygą. Štai dažnai naudojami SQL JOIN tipai:
- VIDINIS PRISIJUNGIMAS
- KAIRĖ PRISIJUNGTI
- TEISINGAS PRISIJUNGTI
- VISAS PRISIJUNGTI
- NATŪRALUS PRISIJUNGIMAS
SQL INNER JOIN
The VIDINIS PRISIJUNGIMAS raktinis žodis parenka visas eilutes iš abiejų lentelių, jei tenkinama sąlyga. Šis raktinis žodis sukurs rezultatų rinkinį, sujungdamas visas abiejų lentelių eilutes, kuriose tenkinama sąlyga, ty bendro lauko reikšmė bus tokia pati.
Sintaksė :
SQL INNER JOIN sintaksė yra tokia:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 INNER JOIN table2 ON table1.matching_column = table2.matching_column;>
Čia
- lentelė1 : Pirma lentelė.
- lentelė2 : Antroji lentelė
- atitikimo_stulpelis : abiejose lentelėse bendras stulpelis.
Pastaba : Vietoj INNER JOIN galime parašyti JOIN. JOIN yra tas pats kaip VIDINIS JOIN.

VIDINIS SUJUNGIMO pavyzdys
Pažiūrėkime į INNER JOIN sąlygos pavyzdį ir supraskime, kad ji veikia.
Ši užklausa parodys studentų, įtrauktų į skirtingus kursus, vardus ir amžių.
SELECT StudentCourse.COURSE_ID, Student.NAME, Student.AGE FROM Student INNER JOIN StudentCourse ON Student.ROLL_NO = StudentCourse.ROLL_NO;>
Išvestis :

SQL LEFT JOIN
LEFT JOIN grąžina visas lentelės eilutes kairėje sujungimo pusėje ir atitinka lentelės eilutes dešinėje sujungimo pusėje. Eilučių, kurių dešinėje pusėje nėra atitinkamos eilutės, rezultatų rinkinys bus įtrauktas nulinis . LEFT JOIN taip pat žinomas kaip LEFT OUTER JOIN.
Sintaksė
LEFT JOIN sintaksė SQL yra :
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 LEFT JOIN table2 ON table1.matching_column = table2.matching_column;>
Čia
- 1 lentelė: Pirma lentelė.
- lentelė2 : Antroji lentelė
- atitikimo_stulpelis : abiejose lentelėse bendras stulpelis.
Pastaba : Taip pat galime naudoti LEFT OUTER JOIN vietoj LEFT JOIN, abu yra vienodi.
LEFT JOIN Pavyzdys
Pažvelkime į LEFT JOIN sąlygos pavyzdį ir supraskime, kad ji veikia
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student LEFT JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Išvestis :

SQL RIGHT JOIN
TEISINGAS PRISIJUNGTI grąžina visas lentelės eilutes dešinėje sujungimo pusėje ir atitinkamas lentelės eilutes kairėje sujungimo pusėje. Jis labai panašus į LEFT JOIN Eilučių, kurių kairėje pusėje nėra atitinkančios eilutės, rezultatų rinkinyje bus nulinis . RIGHT JOIN taip pat žinomas kaip RIGHT OUTTER JOIN.
Sintaksė:
RIGHT JOIN sintaksė SQL yra:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 RIGHT JOIN table2 ON table1.matching_column = table2.matching_column;>
Čia
- lentelė1 : Pirma lentelė.
- lentelė2 : Antroji lentelė
- atitikimo_stulpelis : abiejose lentelėse bendras stulpelis.
Pastaba : Mes taip pat galime naudoti DEŠINIS IŠORINIS PRIJUNGIMAS vietoj RIGHT JOIN abu yra vienodi.

RIGHT JOIN Pavyzdys :
Pažiūrėkime į RIGHT JOIN sąlygos pavyzdį ir suprasime, kad ji veikia
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student RIGHT JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Išvestis:

SQL FULL JOIN
VISAS PRISIJUNGTI sukuria rezultatų rinkinį, derindamas LEFT JOIN ir RIGHT JOIN rezultatus. Rezultatų rinkinyje bus visos eilutės iš abiejų lentelių. Eilučių, kurioms nėra atitikimo, rezultatų rinkinyje bus NULL vertybes.
Sintaksė
SQL FULL JOIN sintaksė yra tokia:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 FULL JOIN table2 ON table1.matching_column = table2.matching_column;>
Čia
- lentelė1 : Pirma lentelė.
- lentelė2 : Antroji lentelė
- atitikimo_stulpelis : abiejose lentelėse bendras stulpelis.
PILNAS PRISIJUNGIMO pavyzdys
Pažiūrėkime į FULL JOIN sąlygos pavyzdį ir supraskime, kad ji veikia
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student FULL JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Išvestis:
| VARDAS | COURSE_ID |
|---|---|
| ŠIURUS | 1 |
| PRAKTIKA | 2 |
| RIJANKA | 2 |
| GILIAI | 3 |
| SAPTARHI | 1 modifikuoti failą linux |
| DHANRAJ | NULL |
| ROHIT | NULL |
| NIRAJ | NULL |
| NULL | 4 |
| NULL | 5 |
| NULL | 4 |
SQL natūralus prisijungimas (?)
Natūralus sujungimas gali sujungti lenteles pagal bendrus jungiamų lentelių stulpelius. Natūralus sujungimas grąžina visas eilutes, suderindamas reikšmes bendruose stulpeliuose, kurių stulpelių pavadinimas ir duomenų tipas yra vienodi, ir tas stulpelis turi būti abiejose lentelėse.
Abiejose lentelėse turi būti bent vienas bendras stulpelis su tuo pačiu stulpelio pavadinimu ir tuo pačiu duomenų tipu.
Dvi lentelės sujungiamos naudojant Kryžminis prisijungimas .
DBVS ieškos bendro stulpelio tuo pačiu pavadinimu ir duomenų tipu. Rezultate išsaugomi korteliai, turintys lygiai tokias pačias reikšmes bendruose stulpeliuose.
Natūralaus prisijungimo pavyzdys:
Pažvelkite į dvi toliau pateiktas lenteles – darbuotojas ir skyrius
| Darbuotojas | ||
|---|---|---|
| Emp_id | Emp_name | Dept_id |
| 1 | Ram | 10 |
| 2 | Jonas | 30 |
| 3 | Bobas | penkiasdešimt |
| skyrius | |
|---|---|
| Dept_id | Dept_name |
| 10 | IT |
| 30 | HR |
| 40 | TIS |
Problema : raskite visus darbuotojus ir atitinkamus jų skyrius.
Sprendimo užklausa : (Darbuotojas) ? (Departamentas)
| Emp_id | Emp_name | Dept_id | Dept_id | Dept_name |
|---|---|---|---|---|
| 1 | Ram | 10 | 10 | IT |
| 2 | Jonas | 30 | 30 | HR |
| Darbuotojų duomenys | Skyriaus duomenys |
Papildomi resursai
Norėdami sužinoti daugiau apie SQL JOIN, pabandykite žiūrėti mūsų vaizdo įrašus ir skaityti straipsnius:
Išėjo JOIN (vaizdo įrašas)
Teisė PRISIJUNGTI (vaizdo įrašas)
Visas PRISIJUNGTI (vaizdo įrašas)
SQL | PRISIJUNGTI (Dekartinis prisijungimas, savarankiškas prisijungimas)