Разновидности JOIN

  1. CROSS – перекрёстное соединение (декартово произведение, используются всевозможные комбинации строк).
  2. INNER – внутреннее соединение (соединяются только те строки, где найдены совпадающие значения столбца).
  3. LEFT(OUTER) – левое внешнее соединение (включает в себя все строки из таблицы А (совпадающие и несовпадающие) + совпадающие значения из таблицы Б. Для строк из таблицы А, которым не найдено соответствие, значение NULL заносятся в столбцы извлекаемые из таблицы Б.
  4. RIGHT(OUTER) – правое внешнее соединение, является обратным внешним соединением к предыдущему, т.е. все строки из таблицы Б (правой таблицы) представлены в соединении и они дополнены совпадающими строками из таблицы А.
  5. FULL(OUTER) – полное внешнее соединение – это комбинация левого и правого соединения, т.е. присутствуют все строки из обоих таблиц. В несовпадающих строках значения столбцов заполняются значениями 0.
  6. Соединение типа UNION – является обратным по отношению к INNER, т.е. включает только те строки из таблиц, для которых не найдены совпадения.
Пример:
 
Таблица 2.1.1
 
Таблица 2.1.2

Использование JOIN при создании запросов в БД Издательства 

Синтаксис: Предикат в этой конструкции определяет условия соединения строк из разных таблиц.
Задание 1. Найти авторов, живущих в одном городе с издателями.
Задание 2. Отобразить список книг, опубликованных в штате Калифорния или вне крупных стран Северной Америки (Мексика, Канада, США).
Для таблицы titles используем обозначение – t, для таблицы publishers – p.

Комментарии

Популярные сообщения