Sobes.tech
Middle

Дар SQL кадом намудҳои JOIN мавҷуданд ва фарқиятҳои байни LEFT JOIN, RIGHT JOIN ва INNER JOIN чист?

sobes.tech AI

Ҷавоб аз AI

Дар SQL чанд навъи JOIN мавҷуд аст, ки имкон медиҳанд, ки хатҳои ду ҷадвалро мувофиқи шарти муайян пайваст кунанд:

  • INNER JOIN — танҳо хатҳое, ки дар ҳарду ҷадвал мувофиқат мекунанд, бармегардонад.
  • LEFT JOIN (LEFT OUTER JOIN) — ҳамаи хатҳоро аз ҷадвали чап ва хатҳои мувофиқ аз ҷадвали рост бармегардонад. Агар мувофиқат набошад, майдонҳои ҷадвали рост NULL хоҳанд буд.
  • RIGHT JOIN (RIGHT OUTER JOIN) — баръакс, ҳамаи хатҳоро аз ҷадвали рост ва хатҳои мувофиқ аз ҷадвали чап бармегардонад, бо NULL дар ҷойҳое, ки мувофиқат нест.

Масалан:

Ҷадвали A:

id ном
1 Alice
2 Bob

Ҷадвали B:

id шаҳр
1 London
3 Berlin
  • INNER JOIN бо id танҳо id=1 (Alice ва London) бармегардонад.
  • LEFT JOIN:
    • id=1 (Alice, London)
    • id=2 (Bob, NULL)
  • RIGHT JOIN:
    • id=1 (Alice, London)
    • id=3 (NULL, Berlin)

Ин тариқ, LEFT ва RIGHT JOIN ҳамаи хатҳоро аз яке аз ҷадвалҳо нигоҳ медоранд ва онҳоро бо маълумот аз ҷадвали дигар пур мекунанд, дар ҳоле ки INNER JOIN танҳо мувофиқатҳоро нигоҳ медорад.