Россия и Беларусь начали и продолжают войну против целого народа Украины!

Оператор FULL OUTER JOIN в SQL

  Юрий  | 

  |

  Обновл. 18 Фев 2023  | 

 127

Оператор FULL OUTER JOIN объединяет две таблицы на основе общего столбца и выбирает не только записи с совпадающими значениями в этих столбцах, но и все оставшиеся строки из обеих таблиц. Например:

Вот как работает этот код:

Здесь мы выбираем столбцы customer_id и first_name (из таблицы Customers) и столбец amount (из таблицы Orders). В результате получаем те строки, в которых есть совпадение между customer_id (таблицы Customers) и customer (таблицы Orders) вместе со всеми остальными строками из обеих таблиц.

Синтаксис оператора FULL OUTER JOIN

Синтаксис оператора FULL OUTER JOIN следующий:

Оператор FULL OUTER JOIN с оператором WHERE


Вот пример использования оператора FULL OUTER JOIN с оператором WHERE:

Здесь мы объединяем две таблицы и выбираем строки, в которых сумма (amount) больше или равна 500.

Оператор FULL OUTER JOIN с псевдонимами AS

Мы можем использовать псевдонимы AS с оператором FULL OUTER JOIN, чтобы сделать наш код короче и чище. Например:

Здесь мы выбираем общие строки между таблицами Categories и Products.

Сравнение FULL OUTER JOIN с другими JOIN-ами


   FULL OUTER JOIN против FULL JOIN

Мы можем использовать FULL JOIN вместо FULL OUTER JOIN. По сути, эти два оператора одинаковы.

Например, следующий фрагмент кода:

идентичен

   FULL OUTER JOIN против INNER JOIN

Оператор FULL OUTER JOIN выбирает не только общие строки между двумя таблицами, но и также все остальные строки из обеих таблицы. В то время как оператор INNER JOIN выбирает только общие строки между двумя таблицами.

FULL OUTER JOIN

Результат (см. таблицы):

INNER JOIN

Результат:

   FULL OUTER JOIN против LEFT JOIN

Оператор FULL OUTER JOIN выбирает не только общие строки между двумя таблицами, но и также все остальные строки из обеих таблицы. В то время как оператор LEFT JOIN выбирает общие строки, а также все остальные строки из левой таблицы.

FULL OUTER JOIN

Результат (см. таблицы):

LEFT JOIN

Результат:

   FULL OUTER JOIN против RIGHT JOIN

Оператор FULL OUTER JOIN выбирает не только общие строки между двумя таблицами, но и также все остальные строки из обеих таблицы. В то время как оператор RIGHT JOIN выбирает общие строки, а также все остальные строки из правой таблицы.

FULL OUTER JOIN

Результат (см. таблицы):

RIGHT JOIN

Результат:

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (2 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *