Операции в SQL

Содержание

Слайд 2

Пример________________ Значение______
WHERE SALARY = '20000'                    Зарплата равна 20000
Ввод:
SELECT * FROM

Пример________________ Значение______ WHERE SALARY = '20000' Зарплата равна 20000 Ввод: SELECT *
PRODUCTTBL WHERE PROD_ID = '2345';
Вывод:
PROD_ID    PROD_DESC              COST 
2345    ПОЛОЧКА ИЗ ДУБА           59.99 
Неравенство
В противоположность равенству существует неравенство. В SQL для неравенства используется знак о (комбинация знаков "меньше" и "больше"). В этом случае условие возвращает TRUE, если обнаруживается неравенство значений, и FALSE — если равенство.
Во многих из основных реализаций SQL эквивалентом знака операции о является комбинация ' =
Пример________________________________Значение____
WHERE SALARY < > '20000'                 Зарплата не равна 20000

Слайд 3

Знаки < ("меньше") и > ("больше") можно использовать по отдельности, и в

Знаки ("больше") можно использовать по отдельности, и в комбинации с другими операциями.
комбинации с другими операциями.
Логические операции в SQL задаются ключевыми словами, а не символами.
Ниже мы рассмотрим следующие логические операции.
• IS NULL
EXISTS
• BETWEEN 
• UNIQUE
• IN 
• ALL И ANY
• LIKE
IS NULL

Слайд 4

Ключевое слово is NULL используется для проверки равенства данного значения значению NULL
Пример__________________________Значение_____________

Ключевое слово is NULL используется для проверки равенства данного значения значению NULL

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;

Слайд 5

BETWEEN
Ключевое слово BETWEEN используется для поиска значений, попадающих в диапазон, заданный

BETWEEN Ключевое слово BETWEEN используется для поиска значений, попадающих в диапазон, заданный
некоторыми минимальным и максимальным значениями. Эти минимальное и максимальное значения включаются в соответствующее условие.
Пример__________________________________Значение_______
WHERE SALARY BETWEEN '20000'       Зарплата должна быть 
AND '30000'                                            от 20000 до 30000, включая их
Ввод:
SELECT *
FROM PRODUCTS_TBL 
WHERE BETWEEN 5.95 AND 14.5;

Слайд 6

  IN
Ключевое слово IN используется для сравнения значения с заданным списком

IN Ключевое слово IN используется для сравнения значения с заданным списком буквальных
буквальных значений. Чтобы возвратилось 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 используется для нахождения значений, похожих на заданное. В
В данном случае предполагается использование следующих двух знаков подстановки: • знак процента (%); • знак подчеркивания (_).
Знак процента представляет ноль, один или несколько символов. Знак подчеркивания представляет один символ или число. Знаки подстановки могут использоваться в комбинации.
Пример_________________________Значение_________________
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

В следующем примере выбираются описания для тех товаров, описания которых заканчиваются на

В следующем примере выбираются описания для тех товаров, описания которых заканчиваются на
"ы".
Ввод:
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 используется для поиска в таблице строк, удовлетворяющих заданным
заданным критериям.
Пример______________________________Значение
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 используется для проверки строк заданной таблицы на уникальность
уникальность (т. е. отсутствие повторений).
Пример_____________________________Значение____________
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

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

FROM PRODUCTS_TBL
WHERE COST < 10 );

Слайд 13

Операции конъюнкции и дизъюнкции
Как быть, если необходимо использовать несколько условий, чтобы

Операции конъюнкции и дизъюнкции Как быть, если необходимо использовать несколько условий, чтобы
сузить набор возвращаемых запросом данных? Нужно скомбинировать условия с помощью операций конъюнкции и дизъюнкции. Эти операции задаются с помощью ключевых слов 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 Ввод:
30;
Ввод:
SELECT *
FROM PRODUCTS_TBL 
WHERE PROD_ID = '7725' 
 AND PROD_ID = '2345';

Слайд 15

  OR
Ключевое слово OR позволяет связать логическим сложением условия в выражении

OR Ключевое слово OR позволяет связать логическим сложением условия в выражении ключевого
ключевого слова 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

  Отрицание условий с помощью операции отрицания
Для всех выше рассмотренных типов

Отрицание условий с помощью операции отрицания Для всех выше рассмотренных типов операций
операций можно построить их отрицания, чтобы таким образом рассмотреть противоположные условия.
Ключевое слово 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 точно так же, как и
в большинстве других языков. Таких операций четыре:
• + (сложение); 
• * (умножение);
• - (вычитание); 
• / (деление).
  Сложение - знак "+".
Пример_____________________________Значение________
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 вычитается
из 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 Значение
делится на 10
FROM EMPLOYEE_PAY_TBL;
SELECT SALARY FROM EMPLOYEE_PAY_TBL    Выбор строк, WHERE SALARY / 10 > '40000';  для которых значение SALARY,
                               деленное на 10, превышает 40000
Комбинирование арифметических операций
Арифметические операции можно комбинировать. Сначала выполняются операции умножения и деления, а затем — операции сложения и вычитания. Пользователь может управлять порядком выполнения операций в выражении только с помощью скобок. Заключенное в скобки выражение означают необходимость рассматривать выражение как единый блок.
Порядок выполнения операций (приоритет операций) задает порядок, в котором обрабатываются выражения в математических выражениях или встроенных функциях SQL.
Имя файла: Операции-в-SQL.pptx
Количество просмотров: 27
Количество скачиваний: 0