Лабораторная работа № 5.
Использование логических действий AND, OR, NOT.
Цель лабораторной работы:
научиться использовать логические
действия простыми запросами на языке SQL.
Краткие теоретические сведения:
Наравне с языками программирования MySQL имеет свои логические
операторы.
В SQL, все логические операторы возвращают TRUE (ИСТИНА), FALSE
(ЛОЖЬ) или NULL (UNKNOWN, неизвестно). В MySQL это реализовано
как
1
(TRUE, ИСТИНА),
0
(FALSE, ЛОЖЬ) или
NULL
. Это справедливо для
большинства SQL СУБД, однако некоторые возвращают любое положительное
значение как значение TRUE.
Операторы AND, OR, NOT, XOR используются для создания нескольких
условий (фильтров) вывода и обработки записей таблиц базы данных.
Оператор AND
Выводит запись если оба условия принимают истинное значение.
Синтаксис оператора AND:
mysql> SELECT column1, column2, ... , columnN
-> FROM table_name
-> WHERE condition1 AND condition2 AND conditionN;
Оператор OR
Выводит запись если хотя бы одно из условий принимает истинное
значение.
Синтаксис оператора OR:
mysql> SELECT column1, column2, ... , columnN
-> FROM table_name
-> WHERE condition1 OR condition2 OR conditionN;
Оператор NOT
С помощью оператора NOT можно вывести все записи, которые не
соответствуют условию.
Синтаксис оператора NOT:
mysql> SELECT column1, column2, ... , columnN
-> FROM table_name
-> WHERE NOT condition;
Используя круглые скобки, все логические операторы можно
комбинировать и получать более сложные и многоуровневые условия.
Логические операторы SQL.
Логический
оператор
Действие
ALL
TRUE, если весь набор сравнений дает результат TRUE
AND
TRUE, если оба булевых выражения дают результат TRUE
ANY
TRUE, если хотя бы одно сравнение из набора дает
результат TRUE
BETWEEN
TRUE, если операнд находится внутри диапазона
EXISTS
TRUE, если подзапрос возвращает хотя бы одну строку
IN
TRUE, если операнд равен одному выражению из списка или
одной или нескольким строкам, возвращаемым подзапросом
LIKE
TRUE, если операнд совпадает с шаблоном
NOT
Обращает значение любого другого булевого оператора
OR
TRUE, если любое булево выражение равно TRUE
SOME
TRUE, если несколько сравнений из набора дают результат
TRUE
Оператор Like используется в предложении WHERE для поиска заданного
шаблона в столбце. В сочетании с оператором LIKE используются два
подстановочных знака:
% - Знак процента представляет ноль, один или несколько символов
_ - Знак подчеркивания представляет один символ
Синтаксис LIKE:
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
Оператор IN позволяет задавать несколько значений в предложении
WHERE.
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
Оператор "BETWEEN" выбирает значения в пределах заданного диапазона.
Значения могут быть числами, текстом или датами.
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
Операторы Any и ALL используются с предложением WHERE или
HAVING. Оператор Any возвращает значение true, если любое из значений
подчиненного запроса удовлетворяет условию. Оператор ALL возвращает
значение true, если все значения подчиненного запроса удовлетворяют условию.
Синтаксис ANY
SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
(SELECT column_name FROM table_name WHERE condition);
Синтаксис ALL
SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
(SELECT column_name FROM table_name WHERE condition);
Пример выполнения задания для предметной области «Запись на
прием»:
В созданной базе данных рассмотрим таблицу patient.
Допустим необходимо найти пациентов, чьи фамилии начинаются на
букву «П».
Do'stlaringiz bilan baham: |