Сравнение с результатом полученного запроса
В данном условии отбора значение выражения сравнивается со значением, вычисленным вложенным запросом. В случае совпадения значений проверка дает результат TRUE, а в случае несовпадения - FALSE. Этот вид условия отбора используется для сравнения значения из проверяемой строки с одним значением, полученным от вложенного запроса.
Приведем пример использования описываемого вида условия отбора: вывести список служащих, у которых плановый объем продаж равен или больше планового объем продаж офиса, расположенного в Инзе.
SELECT FAMILY, NAME
FROM SLUZHASCHIE
WHERE QUOTA >= (SELECT TARGET
FROM OFFISY
WHERE CITY = ‘Инза’)
FAMILY | NAME |
Филатов | Петр |
Полев | Андрей |
Пронин | Игорь |
В описываемом примере вложенный запрос считывает плановый объем продаж для офиса в Инзе. Затем это значение используется для отбора тех служащих, у которых плановый объем продаж выше, чем у этого офиса.
При этом следует иметь в виду, что вложенный запрос должен возвращать единичное значение, т.е. одну строку, содержащую один столбец. Если в результате выполнения вложенного запроса выводится несколько строк или столбцов, то сравнение теряет смысл и СУБД выводит сообщение об ошибке.
В случае возвращения вложенным запросом значения NULL или если не будет выведено ни одной строки, то операция сравнения вернет значение NULL.
Дата добавления: 2015-02-03; просмотров: 821;