русс | укр

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

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

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

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


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

Підзапити з предикатом IN (NOT IN)


Дата добавления: 2015-07-09; просмотров: 425; Нарушение авторских прав


Приклад 1. Запит – знайти усіх викладачів, які мають усі ті посади, що є на кафедрі №2 .

SELECT VYKLADACH.PrizvVykl, VYKLADACH.NomKaf, VYKLADACH.KodPost FROM VYKLADACH

WHERE (((VYKLADACH.KodPost) IN (SELECT KodPost FROM VYKLADACH WHERE NomKaf=2)));

PrizvVykl NomKaf KodPost
Бандур М.М.
Сірко В.В.
Оприско Ю.Й.
Батурин О.Й.
Балагура А.М.
Черно Ф.М.

 

А якщо треба, щоб в результатній таблиці не було викладачів кафедри №2, то

Приклад 2:

SELECT VYKLADACH.PrizvVykl, VYKLADACH.NomKaf, VYKLADACH.KodPost

FROM VYKLADACH

WHERE (((VYKLADACH.NomKaf)<>2) AND (( VYKLADACH.KodPost) IN (SELECT KodPost FROM VYKLADACH WHERE NomKaf=2)));

 

PrizvVykl NomKaf KodPost
Бандур М.М.
Сірко В.В.
Батурин О.Й.

Приклад 3. Запит – знайти усіх викладачів, які мають посади, яких немає на кафедрі №2:

SELECT VYKLADACH.PrizvVykl, VYKLADACH.NomKaf, VYKLADACH.KodPost

FROM VYKLADACH

WHERE ((( VYKLADACH.KodPost) NOT IN

(SELECT KodPost FROM VYKLADACH WHERE NomKaf=2)));

PrizvVykl NomKaf KodPost
Середа І.С.
Мунтян Р.Д.
Турчак А.Д.
Махно Н.Є.
Собчак А.О.

 

5.3.5.5 Підзапити, що починаються з операторів порівняння та ключових слів ANY або ALL

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

<Початок операторів SELECT, INSERT, UPDATE, DELETE чи підзапиту у WHERE> <оператор_порівняння> [ANY | ALL] (підзапит) [Кінець операторів SELECT, INSERT, UPDATE, DELETE або підзапиту у WHERE]



Що таке ALL і ANY. Якщо в якості прикладу скористатися оператором порівняння ">", то "> ALL" означає "більше, ніж кожне значення" (іншими словами, "більше, ніж найбільше значення"). Таким чином, "> ALL (1, 2, З)" означає "більше, ніж З". "> ANY" означає "більше, ніж, принаймні, одне значення" (іншими словами, "більше, ніж найменше значення"). Таким чином, "> ANY (1, 2, З)" означає "більше, ніж 1".

5.3.5.5.1 Підзапити з ключовим словом ANY

Приклад 1. Запит: знайти посади викладачів, що більше (за кодом, а не за семантичним значенням) будь якої посади викладачів кафедри №12 (на кафедрі дві посади з кодами „01” і „03”).

SELECT VYKLADACH.PrizvVykl, VYKLADACH.NomKaf, VYKLADACH.KodPost

FROM VYKLADACH

WHERE ((( VYKLADACH.KodPost)>Any (SELECT KodPost FROM VYKLADACH WHERE NomKaf=12)));

PrizvVykl NomKaf KodPost
Бандур М.М.
Сірко В.В.
Оприско Ю.Й.
Турчак А.Д.
Батурин О.Й.
Балагура А.М.
Черно Ф.М.

Як бачимо, в результат попали усі рядки, де KodPost >”01”. Змінимо оператор порівняння на “<”.

PrizvVykl NomKaf KodPost
Середа І.С.
Бандур М.М.
Мунтян Р.Д.
Сірко В.В.
Оприско Ю.Й.
Батурин О.Й.
Махно Н.Є.
Собчак А.О.

 

Як бачимо, в результат попали усі рядки, де KodPost <”04”.

Приклад 2. Змінимо оператор порівняння на “=”.

SELECT VYKLADACH.PrizvVykl, VYKLADACH.NomKaf, VYKLADACH.KodPost

FROM VYKLADACH

WHERE ((( VYKLADACH.KodPost)=ANY (SELECT KodPost FROM VYKLADACH

WHERE NomKaf=12)));

 

PrizvVykl NomKaf KodPost
Середа І.С.
Мунтян Р.Д.
Турчак А.Д.
Махно Н.Є.
Собчак А.О.

Результат цього запиту повністю співпав би із результатом запиту з предикатом IN. Покажемо це на запиті для кафедри №2 (див. вище запит для цієї кафедри з предикатом IN).



<== предыдущая лекция | следующая лекция ==>
Загальні відомості | Приклад 3.


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


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

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

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


 


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

 
 

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

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