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, ако няма поръчки.