Деление
Умножение
Вычитание
Сложение
Арифметические операции
NOT UNIQUE
NOT EXISTS
IS NOT NULL
Ключевое слово IS NOT NULL обозначает отрицание операции is NULL и используется, когда нужно убедиться, что заданное значение не является пустым.
Пример__________________________Значение____________________
WHERE SALARY is NOT NULL Выбрать только строки с непустыми значениями.
SELECT EMP_XD, LAST_NAME, FIRST_NAME, PAGER FROM EMPLOYEE_TBL WHERE PAGER IS NOT NULL;
EMP_ID LAST_NAME FIRST_NAME PAGER
213764555 GLASS BRANDON 3175709980
313782439 GLASS JACOB 8887345678
Ключевое слово NOT EXISTS используется как отрицание EXISTS.
Пример___________________________Значение_________________
WHERE NOT EXISTS (SELECT EMP_ID Проверка отсутствия ЕМР ID со зна
FROM EMPLOYEE TBL чением 333333333333 в таблице
WHERE EMPLOYEE_ID = -333333333') EMPLOYEE_TBL
SELECT MAX(COST) FROM PRODUCTS_TBL WHERE NOT EXISTS (SELECT COST FROM PRODOCTS_TBL
WHERE COST > 100);
MAX(COST)
---------
59.99
В данном случае выведено максимальное из значений цен в таблице, поскольку не оказалось цен, превышающих 100.
Ключевое слово NOT UNIQUE используется как отрицание UNIQUE.
Пример_____________________________________Значение______
WHERE NOT UNIQUE (SELECT SALARY Проверка SALARY на наличие неуни-
FROM EMPLOYEE_TBL) кальных значений
Арифметические операции используются в SQL точно так же, как и в большинстве других языков. Таких операций четыре:
- + (сложение);
- (умножение);
- - (вычитание);
- / (деление).
Сложение представлено знаком "+".
Пример_____________________________Значение__________________
SELECT SALARY + BONUS FROM EMPLOYEE_PAY_TBL;
SELECT SALARY FROM EMPLOYEE_PAY_TBL WHERE SALARY + BONUS > '40000';
Значение SALARY складывается со значением BONUS для каждой строки данных. Выбор строк, для которых сумма SALARY и BONUS превышает 40000.
Вычитание представлено знаком "-".
Пример________________________Значение________________
SELECT SALARY - BONUS Значение BONUS вычитается из значенияSALARY
FROM EMPLOYEE_PAY_TBL;
SELECT SALARY FROM EMPLOYEE_PAY_TBL Выбор строк, для которых разность
WHERE SALARY - BONUS > '40000'; SALARY И BONUS Превышает 40000
Умножение представлено знаком "*".
Пример_______________________Значение_______________________
SELECT SALARY * 10 Значение SALARY умножается на 10
FROM EMPLOYEE_PAY_TBL;
SELECT SALARY FROM EMPLOYEE_PAY_TBL Выбор строк, для которых значение
WHERE SALARY * 10 > '40000', - SALARY, умноженное на 10, превышает 40000
В следующем примере текущее значение зарплаты умножается на 1.1, что означает увеличение на 10%.
SELECT EMP_ID, PAY_RATE, PAY_RATE * 1.1 FROM EMPLOYEE_PAY_TBL WHERE PAY_RATE IS NOT NULL;
EMP_ID PAY_RATE PAY_RATE*1.1
44234688Э 14.75 16.225
220984332 11 12.1
443679012 15 16.5
Деление представлено знаком "/" (косой чертой).
Пример________________________________Значение_______
SELECT SALARY /10 Значение SALARY делится на 10
FROM EMPLOYEE_PAY_TBL;
SELECT SALARY FROM EMPLOYEE_PAY_TBL Выбор строк, для которых значение
WHERE SALARY / 10 > '40000'; SALARY, деленное на 10, превышает 40000