Деление

Умножение

Вычитание

Сложение

Арифметические операции

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