Sobes.tech
Junior — Middle

Каква е разликата между вътрешно свързване и дясно външно свързване в SQL?

sobes.tech AI

Отговор от AI

В SQL вътрешната връзка (INNER JOIN) и дясната външна връзка (RIGHT OUTER JOIN) се различават по това, кои редове от таблиците се включват в резултата.

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

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

Пример:

SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- Връща само редовете, където A.id съвпада с B.a_id

SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.a_id;
-- Връща всички редове от B, дори ако няма съвпадение в A