Только сегодня мне пришлось использовать Full Outer Join. Это удобно в ситуациях, когда вы сравниваете две таблицы. Например, две таблицы, которые я сравнивал, были из разных систем, поэтому я хотел получить следующую информацию:
- В таблице A есть строки, которых нет в таблице B
- В таблице B есть строки, которых нет в таблице A
- Дубликаты либо в таблице A, либо в таблице B
- Для совпадающих строк, отличаются ли значения (Пример: и таблица A, и таблица B имеют Acct # 12345, LoanID abc123, но процентная ставка или сумма ссуды различаются
Кроме того, я создал дополнительное поле в операторе SELECT, которое использует оператор CASE, чтобы «прокомментировать», почему я помечаю эту строку. Пример: процентная ставка не совпадает / Акт не существует в системе A и т. Д.
Затем сохранил его как вид. Теперь я могу использовать это представление, чтобы либо создать отчет и отправить его пользователям для исправления / ввода данных, либо использовать его для извлечения определенной совокупности с помощью поля «комментарий», которое я создал с помощью оператора CASE (пример: все записи с несоответствующим интересом) ставки) в моей хранимой процедуре и автоматическом исправлении и т. д.
Если вы хотите увидеть пример, дайте мне знать.