Перейти к содержимому
шпаргалка.
Esc
навигацияоткрыть⌘Jпредпросмотр
На этой странице

JOIN Операторы и операции с таблицами

Все темы Data Scientist

Перечислите типы JOINов, дайте характеристику каждому.

В SQL существует несколько типов операторов JOIN:

  1. INNER JOIN:

    • Возвращает только те строки, которые имеют совпадения в обоих таблицах по указанным условиям.

    • Если в обеих таблицах нет совпадений, строки не возвращаются.

  2. LEFT JOIN (или LEFT OUTER JOIN):

    • Возвращает все строки из левой таблицы (первой в запросе), а также строки из правой таблицы, которые имеют совпадения с условием JOIN.

    • Если в правой таблице нет совпадений, возвращается NULL для столбцов правой таблицы.

  3. RIGHT JOIN (или RIGHT OUTER JOIN):

    • Возвращает все строки из правой таблицы (второй в запросе), а также строки из левой таблицы, которые имеют совпадения с условием JOIN.

    • Если в левой таблице нет совпадений, возвращается NULL для столбцов левой таблицы.

  4. FULL JOIN (или FULL OUTER JOIN):

    • Возвращает все строки из обеих таблиц, совпадающие и несовпадающие по условию JOIN.

    • Если нет совпадений, возвращаются NULL значения для недостающих столбцов.

  5. CROSS JOIN:

    • Возвращает декартово произведение всех строк из обеих таблиц, то есть каждая строка из одной таблицы объединяется со всеми строками из другой таблицы.

В одной таблице 2 строчки, в другой 3, сколько минимум строк будет при иннер и лефт джойне? А сколько максимум вне зависимости от джойна?

При выполнении INNER JOIN минимальное количество строк равно 0, если нет совпадений между строками обеих таблиц.

При выполнении LEFT JOIN минимальное количество строк равно количеству строк в левой таблице, т.е. 2 строки, так как левые таблицы строки всегда включаются, даже если нет совпадений.

Максимум строк (вне зависимости от типа JOIN): 2*3=6.

Эта страница была полезной?