Sobes.tech
Junior — Middle

Kas saaksite selgitada erinevate SQL-i tabelite ühendustüüpide erinevusi?

sobes.tech AI

Vastus AI-lt

В SQL существуют разные типы соединений (JOIN), которые позволяют объединять данные из двух или более таблиц:

  • INNER JOIN — возвращает только те строки, у которых есть совпадения в обеих таблицах.
  • LEFT JOIN (или LEFT OUTER JOIN) — возвращает все строки из левой таблицы и совпадающие строки из правой; если совпадений нет, то в местах правой таблицы будут NULL.
  • RIGHT JOIN (или RIGHT OUTER JOIN) — наоборот, все строки из правой таблицы и совпадающие из левой.
  • FULL JOIN (или FULL OUTER JOIN) — возвращает все строки из обеих таблиц, совпадающие и не совпадающие, заполняя NULL там, где нет соответствия.
  • CROSS JOIN — декартово произведение двух таблиц, каждая строка первой таблицы соединяется с каждой строкой второй.

Пример:

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

Вернёт только строки, где A.id совпадает с B.a_id.

Понимание различий важно для правильного построения запросов и получения нужных данных.