Sobes.tech
Senior

Кадом намудҳои JOIN-ро медонӣ ва дар чӣ фарқ доранд?

sobes.tech AI

Ҷавоб аз AI

Видҳои асосии JOIN дар SQL ва фарқиятҳои онҳо:

  • INNER JOIN — танҳо сабтҳое, ки дар ҳарду ҷадвал мувофиқат мекунанд, бармегардонад.

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

  • RIGHT JOIN (RIGHT OUTER JOIN) — ҳамаи сабтҳо аз ҷадвали рост ва мувофиқҳоро аз ҷадвали чап бармегардонад.

  • FULL JOIN (FULL OUTER JOIN) — ҳамаи сабтҳо аз ҳарду ҷадвал, мувофиқат ва номувофиқат, бо NULL дар ҷойҳое, ки маълумот нест.

  • CROSS JOIN — маҳсулоти картезианӣ байни ду ҷадвал, ҳама имкониятҳои пайвандҳоро бармегардонад.

Масалан:

-- INNER JOIN
SELECT * FROM A INNER JOIN B ON A.id = B.a_id;

-- LEFT JOIN
SELECT * FROM A LEFT JOIN B ON A.id = B.a_id;

-- RIGHT JOIN
SELECT * FROM A RIGHT JOIN B ON A.id = B.a_id;

-- FULL JOIN
SELECT * FROM A FULL JOIN B ON A.id = B.a_id;

-- CROSS JOIN
SELECT * FROM A CROSS JOIN B;

Интихоби JOIN вобаста аст аз он, ки кадом маълумотҳоро мехоҳед ба даст оред ва чӣ гуна муносибат кунед бо норасоии мувофиқатҳо.