Sobes.tech
Middle

Kokie JOIN tipai egzistuoja SQL ir kuo skiriasi LEFT JOIN, RIGHT JOIN ir INNER JOIN?

sobes.tech AI

Atsakymas iš AI

SQL yra keli JOIN tipai, kurie leidžia jungti dviejų lentelių eilutes pagal tam tikrą sąlygą:

  • INNER JOIN — grąžina tik tas eilutes, kurios turi atitikmenis abiejose lentelėse.
  • LEFT JOIN (LEFT OUTER JOIN) — grąžina visas kairės lentelės eilutes ir atitinkančias dešinės lentelės eilutes. Jei atitikmenų nėra, dešinės lentelės laukeliai bus NULL.
  • RIGHT JOIN (RIGHT OUTER JOIN) — atvirkščiai, grąžina visas dešinės lentelės eilutes ir atitinkančias kairės lentelės eilutes, su NULL, jei atitikmenų nėra.

Pavyzdys:

A lentelė:

id vardas
1 Alice
2 Bob

B lentelė:

id miestas
1 London
3 Berlin
  • INNER JOIN pagal id grąžins tik id=1 (Alice ir London).
  • LEFT JOIN:
    • id=1 (Alice, London)
    • id=2 (Bob, NULL)
  • RIGHT JOIN:
    • id=1 (Alice, London)
    • id=3 (NULL, Berlin)

Šiuo būdu, LEFT ir RIGHT JOIN išsaugo visas eilutes iš vienos iš lentelių ir papildomai jas užpildo duomenimis iš kitos, o INNER JOIN — tik atitinkančias.