Слайд 2Пример________________ Значение______
WHERE SALARY = '20000' Зарплата равна 20000
Ввод:
SELECT * FROM
![Пример________________ Значение______ WHERE SALARY = '20000' Зарплата равна 20000 Ввод: SELECT *](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-1.jpg)
PRODUCTTBL WHERE PROD_ID = '2345';
Вывод:
PROD_ID PROD_DESC COST
2345 ПОЛОЧКА ИЗ ДУБА 59.99
Неравенство
В противоположность равенству существует неравенство. В SQL для неравенства используется знак о (комбинация знаков "меньше" и "больше"). В этом случае условие возвращает TRUE, если обнаруживается неравенство значений, и FALSE — если равенство.
Во многих из основных реализаций SQL эквивалентом знака операции о является комбинация ' =
Пример________________________________Значение____
WHERE SALARY < > '20000' Зарплата не равна 20000
Слайд 3Знаки < ("меньше") и > ("больше") можно использовать по отдельности, и в
![Знаки ("больше") можно использовать по отдельности, и в комбинации с другими операциями.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-2.jpg)
комбинации с другими операциями.
Логические операции в SQL задаются ключевыми словами, а не символами.
Ниже мы рассмотрим следующие логические операции.
• IS NULL
EXISTS
• BETWEEN
• UNIQUE
• IN
• ALL И ANY
• LIKE
IS NULL
Слайд 4Ключевое слово is NULL используется для проверки равенства данного значения значению NULL
Пример__________________________Значение_____________
![Ключевое слово is NULL используется для проверки равенства данного значения значению NULL](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-3.jpg)
WHERE SALARY is NULL Для зарплаты не задано значение
Вот пример, в котором значение NULL не будет найдено.
Пример_________________________Значение______________
WHERE SALARY = NULL Зарплата имеет значение, равное
строке символов N-U-L-L
Ввод:
SELECT EMP_ID, LAST NAME, FIRST_NAME, PAGER
FROM EMPLOYEE_TBL
WHERE PAGER IS NULL;
Ввод:
SELECT EMP_ID, LAST_NAME, FIRST_NAME, PAGER
FROM EMPLOYEE_TBL
WHERE PAGER = NULL;
Слайд 5BETWEEN
Ключевое слово BETWEEN используется для поиска значений, попадающих в диапазон, заданный
![BETWEEN Ключевое слово BETWEEN используется для поиска значений, попадающих в диапазон, заданный](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-4.jpg)
некоторыми минимальным и максимальным значениями. Эти минимальное и максимальное значения включаются в соответствующее условие.
Пример__________________________________Значение_______
WHERE SALARY BETWEEN '20000' Зарплата должна быть
AND '30000' от 20000 до 30000, включая их
Ввод:
SELECT *
FROM PRODUCTS_TBL
WHERE BETWEEN 5.95 AND 14.5;
Слайд 6 IN
Ключевое слово IN используется для сравнения значения с заданным списком
![IN Ключевое слово IN используется для сравнения значения с заданным списком буквальных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-5.jpg)
буквальных значений. Чтобы возвратилось TRUE, сравниваемое значение должно совпадать хотя бы с одним значением из списка.
Пример__________________________Значение______
WHERE SALARY IN ('20000', Зарплата должна равняться '30000', '40000‘) 20000, 30000 или 40000
Ввод:
SELECT *
FROM PRODUCTS_TBL
WHERE PROD_ID IN <'13','9','87','119');
То же самое можно получить, комбинируя условия с помощью ключевого слова OR, но с помощью IN результат получается быстрее.
Слайд 7 LIKE
Ключевое слово LIKE используется для нахождения значений, похожих на заданное.
![LIKE Ключевое слово LIKE используется для нахождения значений, похожих на заданное. В](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-6.jpg)
В данном случае предполагается использование следующих двух знаков подстановки: • знак процента (%); • знак подчеркивания (_).
Знак процента представляет ноль, один или несколько символов. Знак подчеркивания представляет один символ или число. Знаки подстановки могут использоваться в комбинации.
Пример_________________________Значение_________________
WHERE SALARY LIKE '200%' Любое значение, начинающееся с 200
WHERE SALARY LIKE ' %200% ' Любое значение, имеющее 200 в любой _ позиции
WHERE SALARY LIKE '_00%' Любое значение, имеющее 00 во второй и _ третьей позициях
WHERE SALARY LIKE ' 2_%_%' Любое значение, начинающееся с 2 и _ состоящее как минимум из трех символов
WHERE SALARY LIKE '%2' Любое значение, заканчивающееся 2
WHERE SALARY LIKE '_2%3' Любое значение, имеющее 2 во второй _ позиции и заканчивающееся 3
WHERE SALARY LIKE '2__3' Любое значение длиной 5 символов, _ начинающееся с 2 и заканчивающееся 3
Слайд 8В следующем примере выбираются описания для тех товаров, описания которых заканчиваются на
![В следующем примере выбираются описания для тех товаров, описания которых заканчиваются на](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-7.jpg)
"ы".
Ввод:
SELECT PROD_DESC
FROM PRODUCTS_TBL
WHERE PROD_DESC LIKE '%Ы';
В следующем примере выбираются описания товаров с буквой "Ы" во второй позиции.
Ввод:
SELECT PROD_DESC
FROM PRODUCTS_TBL
WHERE PROD_DESC LIKE '_Ы%';
Слайд 9 EXISTS
Ключевое слово EXISTS используется для поиска в таблице строк, удовлетворяющих
![EXISTS Ключевое слово EXISTS используется для поиска в таблице строк, удовлетворяющих заданным](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-8.jpg)
заданным критериям.
Пример______________________________Значение
WHERE EXISTS (SELECT EMP_ID Проверка наличия EMP_ID со FROM EMPLOYEE_TBL значением 333333333 в таблице WHERE EMPLOYEE_ID = '333333333‘) EMPLOYEE_TBL
В следующем примере в операторе используется подчиненный запрос
Ввод:
SELECT COST
FROM PRODUCTS_TBL
WHERE EXISTS ( SELECT COST
FROM PRODUCTS_TBL
WHERE COST > 100 )
Слайд 10 UNIQUE
Ключевое слово UNIQUE используется для проверки строк заданной таблицы на
![UNIQUE Ключевое слово UNIQUE используется для проверки строк заданной таблицы на уникальность](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-9.jpg)
уникальность (т. е. отсутствие повторений).
Пример_____________________________Значение____________
WHERE UNIQUE (SELECT SALARY Проверка SALARY на нали- FROM EMPLOYEEJTBL__________чие повторений
WHERE EMPLOYEE_ID = '333333333')
ALL И ANY
Ключевое слово ALL используется для сравнения заданного значения со всеми значениями из некоторой другой выборки значений.
Пример_____________________________ Значение
WHERE SALARY > ALL (SELECT SALARY Проверка значения FROM FROM EMPLOYEE_TBL SALARY на предмет пре-
WHERE CITY - ' PSKOV ' ) вышения им всех значений _ зарплаты служащих из Пскова
Слайд 11Ввод:
SELECT *
FROM PRODUCTS_TBL
WHERE COST > ALL ( SELECT COST
![Ввод: SELECT * FROM PRODUCTS_TBL WHERE COST > ALL ( SELECT COST](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-10.jpg)
FROM PRODUCTS_TBL
WHERE COST < 10 );
Ключевое слово ANY используется для сравнения заданного значения с любым из значений некоторой другой выборки значений.
Пример___________________________________Значение_______
WHERE SALARY > ANY (SELECT SALARY Проверка значения FROM EMPLOYEE_TBL SALARY на Предмет
WHERE CITY = ‘PSKOV') превышения им какого- _ нибудь из значений зар _ _ платы для служащих из _ Пскова
Слайд 12Ввод:
SELECT *
FROM PRODUCTS_TBL
WHERE COST > ANY ( SELECT COST
![Ввод: SELECT * FROM PRODUCTS_TBL WHERE COST > ANY ( SELECT COST FROM PRODUCTS_TBL WHERE COST](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-11.jpg)
FROM PRODUCTS_TBL
WHERE COST < 10 );
Слайд 13Операции конъюнкции и дизъюнкции
Как быть, если необходимо использовать несколько условий, чтобы
![Операции конъюнкции и дизъюнкции Как быть, если необходимо использовать несколько условий, чтобы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-12.jpg)
сузить набор возвращаемых запросом данных? Нужно скомбинировать условия с помощью операций конъюнкции и дизъюнкции. Эти операции задаются с помощью ключевых слов AND и OR.
AND
Ключевое слово AND позволяет связать логическим умножением два условия в выражении ключевого слова WHERE. Чтобы оператор SQL, представляющий транзакцию или запрос, выполнил заданное действие, оба связанные ключевым словом AND условия должны возвратить TRUE.
Пример_________________________________Значение________
WHERE EMPLOYEE_ID = '333333333' Значение EMPLOYEE_ID AND SALARY = '20000‘ должно быть равным
333333333, а значение _ _ SALARY должно быть
равным 20000
Слайд 14Ввод:
SELECT *
FROM PROOCTS_TBL
WHERE COST > 10
AND COST <
![Ввод: SELECT * FROM PROOCTS_TBL WHERE COST > 10 AND COST Ввод:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-13.jpg)
30;
Ввод:
SELECT *
FROM PRODUCTS_TBL
WHERE PROD_ID = '7725'
AND PROD_ID = '2345';
Слайд 15 OR
Ключевое слово OR позволяет связать логическим сложением условия в выражении
![OR Ключевое слово OR позволяет связать логическим сложением условия в выражении ключевого](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-14.jpg)
ключевого слова WHERE. Чтобы оператор SQL, представляющий транзакцию или запрос, выполнил заданное действие, хотя бы одно из связанных ключевым словом AND условий должно возвратить TRUE.
Пример______________________Значение___________________
WHERE SALARY = ' 20000 ' Значение SALARY должно быть _ OR SALARY = '30000’ равным либо 20000, либо 30000
Операции сравнения и логические операции в выражениях могут использоваться самостоятельно или в комбинации с другими подобными операциями.
SELECT *
FROM PRODUCTS_TBL
WHERE PROD_ID = '7725'
OR PROD_ID = '2345';
Слайд 16 Отрицание условий с помощью операции отрицания
Для всех выше рассмотренных типов
![Отрицание условий с помощью операции отрицания Для всех выше рассмотренных типов операций](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-15.jpg)
операций можно построить их отрицания, чтобы таким образом рассмотреть противоположные условия.
Ключевое слово NOT обращает смысл операции, с которой оно используется. Ключевое слово NOT используется с операциями следующим образом.
• NOT BETWEEN
• IS NOT NULL
• NOT IN
• NOT EXISTS
• NOT LIKE
• NOT UNIIQUE
Пример_________________________Значение____________
WHERE SALARY о '20000' Зарплата не равна 20000
WHERE SALARY != '20000' Зарплата не равна 20000
Слайд 17Арифметические операции
Арифметические операции используются в SQL точно так же, как и
![Арифметические операции Арифметические операции используются в SQL точно так же, как и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-16.jpg)
в большинстве других языков. Таких операций четыре:
• + (сложение);
• * (умножение);
• - (вычитание);
• / (деление).
Сложение - знак "+".
Пример_____________________________Значение________
SELECT SALARY + BONUS Значение SALARY складывается FROM EMPLOYEE_PAY_TBL; со значением BONUS для каждой -
SELECT SALARY FROM EMPLOYEE_PAY_TBL строки данных
WHERE SALARY + BONUS > '40000';Выбор строк, для которых _______________________________сумма SALARY И BONUS _______________________________превышает 40000
Слайд 18 Вычитание - знак "-".
Пример________________________Значение________________
SELECT SALARY - BONUS Значение BONUS вычитается
![Вычитание - знак "-". Пример________________________Значение________________ SELECT SALARY - BONUS Значение BONUS вычитается](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-17.jpg)
из FROM EMPLOYEE_PAY_TBL; значения SALARY
SELECT SALARY Выбор строк, для WHERE SALARY
FROM EMPLOYEE_PAY_TBL BONUS > '40000'; для которых раз-_ _ разность SALARY _ и BONUS Превышает 40000
Умножение - знак "*".
Пример_______________________ Значение________________
SELECT SALARY * 10 Значение SALARY умножается FROM EMPLOYEE_PAY_TBL; на 10
SELECT SALARY FROM EMPLOYEE_PAY_TBL Выбор строк, WHERE SALARY * 10 > '40000',- SALARY, для которых значение
умноженное на 10, превышает 40000
Слайд 19Деление
Деление представлено знаком "/" (косой чертой).
Пример________________________________Значение_______
SELECT SALARY /10 Значение SALARY
![Деление Деление представлено знаком "/" (косой чертой). Пример________________________________Значение_______ SELECT SALARY /10 Значение](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/891576/slide-18.jpg)
делится на 10
FROM EMPLOYEE_PAY_TBL;
SELECT SALARY FROM EMPLOYEE_PAY_TBL Выбор строк, WHERE SALARY / 10 > '40000'; для которых значение SALARY,
деленное на 10, превышает 40000
Комбинирование арифметических операций
Арифметические операции можно комбинировать. Сначала выполняются операции умножения и деления, а затем — операции сложения и вычитания. Пользователь может управлять порядком выполнения операций в выражении только с помощью скобок. Заключенное в скобки выражение означают необходимость рассматривать выражение как единый блок.
Порядок выполнения операций (приоритет операций) задает порядок, в котором обрабатываются выражения в математических выражениях или встроенных функциях SQL.