Сравнения столбцов

Сравнения нескольких столбцов с помощью подзапросов могут быть:

  • непарными сравнениями;

  • попарными сравнениями.

Попарные и непарные сравнения

Сравнения нескольких столбцов с помощью подзапросов могут быть непарными или попарными сравнениями. Если рассмотреть пример «Вывести сведения о сотрудниках, работающих в том же отделе и имеющих того же менеджера, что и Daniel», правильный результат получится с помощью следующего выражения:

    SELECT first_name, last_name, manager_id, department_id
FROM empl_demo
WHERE manager_id IN (SELECT manager_id
        FROM empl_demo
        WHERE first_name = ‘Daniel’)
AND department_id IN (SELECT department_id
        FROM empl_demo
        WHERE first_name = ‘Daniel’);

В таблице EMPL_DEMO имеется только один Даниель (Daniel Faviet), которым руководит менеджер 108 и который работает в отделе 100. Однако если подзапросы возвращают более одной строки, результат может быть неправильным. Например, если выполнить тот же запрос, но заменить «Daniel» на «John», получится неправильный результат. Это происходит из-за того, что важна комбинация параметров department_id и manager_id. Чтобы получить правильный результат для этого запроса, необходимо попарное сравнение.

Далее: Преимущества использования регулярных выражений

Статьи по теме
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)