Sobes.tech
Middle

Kādi JOIN veidi pastāv SQL un kā atšķiras LEFT JOIN, RIGHT JOIN un INNER JOIN?

sobes.tech AI

Atbilde no AI

SQL ir ir dažādi JOIN veidi, kas ļauj apvienot divu tabulu rindas pēc noteikta nosacījuma:

  • INNER JOIN — atgriež tikai tās rindas, kurās ir sakritības abās tabulās.
  • LEFT JOIN (LEFT OUTER JOIN) — atgriež visas kreisās tabulas rindas un atbilstošās labās tabulas rindas. Ja sakritība nav, labās tabulas lauki būs NULL.
  • RIGHT JOIN (RIGHT OUTER JOIN) — pretēji, atgriež visas labās tabulas rindas un atbilstošās kreisās, ar NULL tur, kur sakritība nav.

Piemērs:

A tabula:

id vārds
1 Alice
2 Bobs

B tabula:

id pilsēta
1 London
3 Berlīne
  • INNER JOIN pēc id atgriezīs tikai id=1 (Alice un London).
  • LEFT JOIN:
    • id=1 (Alice, London)
    • id=2 (Bobs, NULL)
  • RIGHT JOIN:
    • id=1 (Alice, London)
    • id=3 (NULL, Berlīne)

Tādējādi, LEFT un RIGHT JOIN saglabā visas rindas no vienas tabulas un papildina tās ar datiem no otras, bet INNER JOIN — tikai atbilstošās.