Sobes.tech
Middle

Как работиш с SQL? Какви са разликите между INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN?

sobes.tech AI

Отговор от AI

SQL JOIN — това е операция за обединяване на данни от две таблици по свързано поле. Разликите между типовете JOIN:

  • INNER JOIN — връща само записите, които имат съвпадения и в двете таблици.

  • LEFT JOIN (LEFT OUTER JOIN) — връща всички записи от лявата таблица и съвпадащите от дясната; ако няма съвпадение, в дясната част ще бъде NULL.

  • RIGHT JOIN (RIGHT OUTER JOIN) — обратно, връща всички записи от дясната таблица и съвпадащите от лявата; ако няма съвпадение, в лявата част ще бъде NULL.

  • FULL OUTER JOIN — връща всички записи и от двете таблици; ако няма съвпадение, съответните полета ще бъдат NULL.

Пример:

SELECT A.id, A.name, B.order_date
FROM Customers A
LEFT JOIN Orders B ON A.id = B.customer_id;

Този заявка ще върне всички клиенти с техните поръчки, ако има такива, или NULL в полето order_date, ако няма поръчки.