Sobes.tech
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.