Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Лабораторная работа № 16. Предикат NULL. Подзапросы. Предикаты exists, ANY, ALL ⇐ ПредыдущаяСтр 7 из 7
Цель работы: научиться применять в запросах предикаты NULL, EXISTS, ANY и ALL. Предикат IS NULL. Для выяснения смысла значения NULL рассмотрим пример. Пусть в городе N ведётся база данных, в которой хранятся данные обо всех жителях, включая детей. Очевидно, что в графу «профессия» записи о ребёнке поместить нечего, так как у ребёнка ещё нет профессии. Графа профессия может оказаться пустой и в том случае, когда в момент занесения данных профессия жителя не была известна. Предполагается, что графа будет заполнена позже. Для неизвестного значения в SQL применяется специальное обозначение NULL. Значение NULL имеют по умолчанию все поля, в которые ничего не заносилось. NULL применяется в полях всех типов и само не имеет типа. Значение NULL можно использовать только в специальном предикате IS NULL, имеющем следующий синтаксис: <выражение> IS [NOT]NULL Предикат IS NULL принимает значение «истина» только, если выражение равно NULL. Для работы с NULL-значениями полей создайте в базе данных таблицу NullPusto, состоящую из двух текстовых полей длиной по 30 символов. Назовите поля «ФИО» и «адр». Введите в таблицу данные из табл. 3. Создайте и выполните следующие запросы к таблице NullPusto: a) выбрать все записи с NULL; b) выбрать все записи с “”; c) выбрать все записи, в которых есть адреса; d) выбрать все записи, в которых нет адресов; e) подсчитать количество записей, содержащих NULL; f) подсчитать количество записей, содержащих NULL и “”. Сохраните запросы и покажите их преподавателю. Таблица 3
Подзапросы. С помощью SQL можно вкладывать один запросы внутрь другого. Внутренний запрос называют подзапросом. Обычно, внутренний запрос генерирует значение, которое проверяется в предикате внешнего запроса, определяющего верно оно или нет. Например, в следующем запросе выбираются из таблицы «Товары» те товары, цена которых меньше средней цены всех товаров таблицы: SELECT * Самостоятельно с помощью подзапроса выберите из таблицы «Заказано» заказы на товары с маркой «Pavlova». Марки товаров хранятся в таблице «Товары». Предикат EXISTS имеет синтаксис EXISTS подзапрос и принимает значение ИСТИНА (TRUE), если подзапрос содержит хотя бы одну строку. В следующем запросе выбираются фамилии всех сотрудников, оформлявших заказы для клиента ANTON, при условии, что хотя бы один заказ для клиента ANTON был размещён в мае любого года. SELECT DISTINCT b.Фамилия Самостоятельно, используя таблицы «Сотрудники», «Клиенты» и «Заказы», создайте и выполните запрос на выборку всех клиентов из Рио-Де-Жанейро, если был сделан хотя бы один заказ из Рио-Де-Жанейро, оформленый сотрудником Кротовым. Предикаты количественного сравнения ANY, SOME и ALL имеют синтаксис оператор сравнения {ANY | SOME | ALL} подзапрос. ANY и SOME – синонимы. Пример использования предиката ANY: SELECT КодЗаказа Для исследования особенностей предиката ANY проделайте следующее упражнение: a) выберите из таблицы «Товары» цены товаров от поставщика с кодом 2; запишите эти цены; b) используя ANY, выберите все товары, цены которых больше цен поставщика 2; сравните выбранные цены с записанными; c) повторите предыдущий пункт, иcпользуя вместо ANY предикат ALL; сравните результаты. Сохраните все выполненные запросы и покажите их преподавателю Date: 2015-12-12; view: 694; Нарушение авторских прав |