русс | укр

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

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

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

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


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

Использование предикатов IN, BETWEEN, LIKE, is NULL


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


Структура лабораторной работы

1. Общие сведения об операторах реляционной алгебры.

1.1. Оператор объединения.

1.2. Использование предикатов IN, BETWEEN, LIKE, is NULL.

1.3. Вложенные (подчиненные) запросы.

1.4. Формирование запросов на SQL по формулам реляционной алгебры.

2. Задание к лабораторной работе.

3. Оформление отчета.

4. Контрольные вопросы.

Общие сведенья об операторах реляционной алгебры

Оператор объединения.

 

В SQL предусмотрена возможность выполнения операции реляционной алгебры "ОБЪЕДИНЕНИЕ" (UNION) над отношениями, являющимися результатами оператора SELECT. Естественно, эти отношения должны быть определены по одной схеме. Пример: получить все Интернет - ссылки, хранимые в базе данных publications. Эти ссылки хранятся в таблицах publishers и wwwsites. Для того чтобы получить их в одной таблице, необходимо построить следующие запрос:

 

SELECT publisher,url FROM publishers UNION SELECT site,url FROM wwwsites;

 

Использование предикатов IN, BETWEEN, LIKE, is NULL

 

При задании логического условия в предложении WHEREмогут быть использованы операторы IN, BETWEEN, LIKE, is NULL.

Операторы IN(равен любому из списка) и NOT IN(не равен ни одному из списка) используются для сравнения проверяемого значения поля с заданным списком. Этот список значений указывается в скобках справа от оператора IN.

Построенный с использованием INпредикат (условие) считается истинным, если значение поля, имя которого указано слева от IN, совпадает (подразумевается точное совпадение) с одним из значений, перечисленных в списке, указанном в скобках справа от IN.

Предикат, построенный с использованием NOT IN, считается истинным, если значение поля, имя которого указано слева от NOT IN, не совпадает ни с одним из значений, перечисленных в списке, указанном в скобках справа от NOT IN.



 

Например, получить из таблицы titles сведения о книгах, изданные в 2000, 2001 и 2002 годах.

 

SELECT *

FROM titles

WHERE yearpub IN (2000, 2001, 2002);

 

Получить сведения об изданиях, которые не издавались в 2000, 2001 и 2002 годах.

 

SELECT publisher FROM ((titles AS a INNER JOIN publishers AS b ON a.pub_id = b.pub_id) WHERE yearpub NOT IN (2000, 2001, 2002);

 

Оператор BETWEEN используется для проверки условия вхождения значения поля в заданный интервал, то есть вместо списка значений атрибута этот оператор задает границы его изменения.

 

Например, запрос типа: перечислить издательства, которые издали книги в количестве не менее 3 и не более 10 будет выглядеть как

 

SELECT publisher, COUNT(title) FROM ((titles AS a INNER JOIN publishers AS b ON a.pub_id = b.pub_id) GRROUP BY publisher HAVING COUNT(title) BETWEEN 3 AND 10;

 

Граничные значения, в данном случае значения 3 и 10, входят в множество значений, с которыми производится сравнение. Оператор BETWEENможет использоваться как для числовых, так и для символьных типов полей.

Оператор LIKEприменим только к символьным полям типа CHARили VARCHAR(см. л.р. № 1). Этот оператор просматривает строковые значения полей с целью определения, входит ли заданная в операторе LIKEподстрока (образец поиска) в символьную строку-значение проверяемого поля.

Для выборки строковых значений по заданному образцу подстроки можно применять шаблон искомого образца строки, использующий следующие символы:

· ? — любой один знак в данном месте.

· * — любое количество любых знаков после предшествующих ему символов.

· # — одна любая цифра.

 

Например, написать запрос, выбирающий из таблицы title сведения о книгах, в название которых входит слово «история».

 

SELECT *

FROM titles

WHERE title LIKE ‘*история*’;

 

Обращаем внимание на то, что рассмотренные выше операторы сравнения «=, <, >, <=, >=, <>» и операторы IN, BETWEEN и LIKE нельзя использовать для проверки содержимого поля на наличие в нем пустого значения NULL. Для этих целей предназначены специальные операторы is NULL (является пустым) и IS NOT NULL (является не пустым).

 

Например, получить список издателей (publisher), которые не имеют электронного адреса (поле url не заполнено).

 

SELECT publisher

FROM publisher

WHERE url IS NULL;

 



<== предыдущая лекция | следующая лекция ==>
Оформление отчета | Вложенные (подчиненные) запросы


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


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

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

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


 


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

 
 

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

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