Оператор IS

Оператор IS используется для определения различия между неверным и неизвестным значением.

Пример 1. Найти все записи в таблице с информацией об успеваемости со значениями NULL в поле OCENKA:

SELECT *
FROM USP
WHERE OCENKA IS NULL;

Данных в качестве результата этого запроса не будет, потому что в таблице отсутствуют значения NULL в поле OCENKA.

Пример 2. Необходимо устранить NULL из вывода информации об успеваемости. Воспользуемся запросом, содержащем NOT в предикате:

Способ.

SELECT *

FROM USP
WHERE
OCENKA NOT NULL;

Результат запроса:

UNUM OCENKA UDATE SNUM PNUM

----------------------------------------------------------------------

1001 5 10/06/1999 3412 2001

1002 4 10/06/1999 3413 2003

1003 3 11/06/1999 3414 2005

1004 4 12/06/1999 3412 2003

1005 5 12/06/1999 3416 2004

Т.е. при отсутствии значений NULL будет выведена вся таблица успеваемости.

Способ.

SELECT *

FROM USP

WHERE NOT OCENKA IS NULL;

Пример 3. Представить информацию об успеваемости студентов, номер билета которых не 3412 и не 3413.

Способ.

SELECT *

FROM USP

WHERE SNUM NOT IS (3412; 3413);

Способ.

SELECT *

FROM USP

WHERE NOT SNUM IS (3412, 3413);

Результат запроса:

UNUM OCENKA UDATE SNUM PNUM

------------------------------------------------------------------------

1003 3 11/06/1999 3414 2005

1005 5 12/06/1999 3416 2004

Аналогичным способом можно использовать весь набор стандартных математических и специальных операторов.

Оператор DISTINCT.

Оператор DISTINCT обеспечивает возможность устранять повторяющиеся значения из предложения SELECT.

Составим запрос, который определяет какие студенты в настоящее время сдавали учебные предметы, причём не требуется уточнение полученной оценки и сдаваемого предмета.

SELECT SNUM

FROM USP;

Результат запроса:

SNUM

--------

Для получения списка результатов без дубликатов используем запрос

SELECT DISTINCT SNUM

FROM USP;

Результат запроса:

SNUM

--------

Замечание 1: DISTINCT может указываться только один раз в данном предложение SELECT.

Замечание 2: Если вместо DISTINCT указать ALL, то это будет иметь противоположный эффект и дублирование строк вывода сохранится.


Получение итоговых данных.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: