русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Подзапросы, возвращающие набор значений.


Дата добавления: 2013-12-23; просмотров: 967; Нарушение авторских прав


Подзапрос может не возвращать значения или возвращать несколько значений. Эта группа включает подзапросы, начинающиеся с IN, NOT IN или оператора сравнения с ключевыми словами ANY или ALL.

Подзапросы, начинающиеся с ключевого слова IN, имеют следующую общую форму:

 

Начало операторов SELECT, INSERT, UPDATE, DELETE или подзапроса

WHERE выражение [NOT] IN (подзапрос)

[Конец операторов SELECT, INSERT, UPDATE или подзапроса]



 

Результатом внутреннего подзапроса является список, включающий от нуля до нескольких значений.

 

Когда тот или иной подзапрос начинается с ключевого слова EXISTS, этот подзапрос функционирует как “тест на существование”. Ключевое слово EXISTS в предложении WHERE выполняет проверку на существование (или несуществование) данных, которые удовлетворяют критериям соответствующего подзапроса, т.е. EXISTS выполняет проверку на наличие или отсутствие “пустого набора” строк. Если подзапрос возвращает хотя бы одну строку, этот результат оценивается как “истина”. Если подзапрос возвращает пустой набор, этот результат оценивается как “ложь”.

Подзапросы, начинающиеся с ключевого слова EXISTS, имеют следующую общую форму:

 

Начало операторов SELECT, INSERT, UPDATE, DELETE или подзапроса

WHERE выражение [NOT] EXISTS (подзапрос)

[Конец операторов SELECT, INSERT, UPDATE или подзапроса]



 

В другом виде подзапросов, которые не возвращают или возвращают несколько строк, используют оператор сравнения, модифицированный ключевыми словами ANY или ALL. Подзапросы, начинающиеся с модифицированного оператора сравнения, имеют общую форму следующего вида:

 

Начало операторов SELECT, INSERT, UPDATE, DELETE или подзапроса

WHERE выражение оператор_сравнения [ANY | ALL] (подзапрос)

[Конец операторов SELECT, INSERT, UPDATE или подзапроса]



 

Что такое ANY и ALL. Если в качестве примера воспользоваться операторами сравнения “ > “, то “ > ALL” означает “больше, чем каждое значение” (другими словами, “больше, чем наибольшее значение”). Таким образом, “ > ALL (1,2,3) ” означает “больше, чем 3 ”. “ > ANY ” означает “больше, чем, по крайней мере, одно значение» (другими словами, “больше, чем наименьшее значение”). Таким образом, “ > ANY (1,2,3) ” означает “больше, чем 1”.

Таблица иллюстрирует различие между ключевыми словами ANY и ALL.

 

 

ALL Результат ANY Результат
> ALL (1,2,3) >3 > ANY (1,2,3) >1
< ALL (1,2,3) <1 < ANY (1,2,3) <3
= ALL (1,2,3) =1 или =2 или =3 = ANY (1,2,3) =1 или =2 или =3

Пример. Найти сведения о сотрудниках организации, зарабатывающих больше, чем любой сотрудник отдела № 30:

SELECT DISTINCT Оклад, Фамилия, Должность, Отдел

FROM Сотрудники

WHERE Оклад > ANY ( SELECT Оклад FROM Сотрудники WHERE Отдел = 30)

 



<== предыдущая лекция | следующая лекция ==>
Вложенные запросы. | Синхронизация повторяющихся подзапросов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.