Middle
Millised JOIN tüübid on SQL-is olemas ja kuidas erinevad LEFT JOIN, RIGHT JOIN ja INNER JOIN?
sobes.tech AI
Vastus AI-lt
SQL-is on mitu JOIN-tüüpi, mis võimaldavad kahe tabeli ridu ühendamist teatud tingimuse alusel:
- INNER JOIN — tagastab ainult need read, millel on mõlemas tabelis vastavus.
- LEFT JOIN (LEFT OUTER JOIN) — tagastab kõik vasakpoolsed read ja vastavad parempoolsed read. Kui vastavust ei ole, on parempoolsete väljade väärtused NULL.
- RIGHT JOIN (RIGHT OUTER JOIN) — vastupidiselt, tagastab kõik parempoolsed read ja vastavad vasakpoolsed read, NULL-idega, kui vastavust ei ole.
Näide:
A tabel:
| id | nimi |
|---|---|
| 1 | Alice |
| 2 | Bob |
B tabel:
| id | linn |
|---|---|
| 1 | London |
| 3 | Berlin |
- INNER JOIN id järgi tagastab ainult id=1 (Alice ja London).
- LEFT JOIN:
- id=1 (Alice, London)
- id=2 (Bob, NULL)
- RIGHT JOIN:
- id=1 (Alice, London)
- id=3 (NULL, Berlin)
Nii säilitavad LEFT ja RIGHT JOIN kõik read ühest tabelist ning täiendavad neid andmetega teisest tabelist, samas kui INNER JOIN säilitab ainult vastavad read.