Условия поиска для отбора строк

SQL дает возможность устанавливать критерии выбора записей для вывода.

WHERE – предложение команды SELECT, которое позволяет устанавливать предикаты, условие которых может быть или верным или неверным для любой записи таблицы. Команда извлекает только те записи из таблицы, для которой такое утверждение истинно.

Пример 1. Необходимо выбрать фамилии и размеры стипендии студентов, чья стипендия составляет 25.50

SELECT SFAM, STIP

FROM STUDIENTS

WHERE STIP=25.50;

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

SFAM STIP

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

Поляков 25.50

Нагорный 25.50

С помощью булевых операторов и знаков отношения можно осуществлять различной сложности предикаты, причем, количество условий не ограничено.

Пример 2. Необходимо вывести список студентов, получающих стипендию, т.е. для которых STIP>0.

SELECT *

FROM STUDENTS

WHERE STIP>0;

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

SNUM SFAM SIMA SOTCH STIP

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

3412 Поляков Анатолий Алексеевч 25.50

3413 Старова Любовь Михайловна 17.00

3416 Нагорный Евгений Васильевич 25.50

Стандартные булевы операторы: AND; OR; NOT.

Связывая предикаты с булевскими операторами, можно значительно увеличить возможности выборки данных.

Пример 3. Получить информацию о всех студентах, сдавших предмет с кодом 2003.

SELECT *

FROM USP

WHERE OCENKA >=3 AND PNUM=2003;

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

UNUM OCENKA UDATE SNUM PNUM

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

1002 4 10/06/1999 3413 2003

1004 4 12/06/1999 3412 2003

Пример 4. Получить информацию о студентах, у которых оценки не являются 3.

SELECT *

FROM USP

WHERE NOT (OCENKA=3);

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

UNUM OCENKA UDATE SNUM PNUM

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

1001 5 10/06/1999 3412 2001

1002 4 10/06/1999 3413 2003

1004 4 12/06/1999 3412 2003

1005 5 12/06/1999 3416 2004

Пример 5. Получить информацию о студентах, у которых оценки не являются 3 и в то же время по учебному предмету с кодом, не равным 2005.

SELECT*

FROM USP

WHERE NOT ( OCENKA=3 AND PNUM=2005)

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

UNUM OCENKA UDATE SNUM PNUM

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

1001 5 10/06/1999 3412 2001

1002 4 10/06/1999 3413 2003

1004 4 12/06/1999 3412 2003

1005 5 12/06/1999 3416 2004

Оператор IN.

Оператор IN определяет набор значений, в которых данное значение должно быть включено.

Пример 1.Получить информацию обо всех студентах, имя которых Анатолий или Владимир.

Способ

SELECT*

FROM STUDENTS
WHERE SIMA=’Анатолий’ OR SIMA= ‘ВЛАДИМИР’;

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

SNUM SFAM SIMA SOTCH STIP

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

3412 Поляков Анатолий Алексеевич 25.50

3414 Гриценко Владимир Николаевич 0.00

3415 Котенко Анатолий Николаевич 0.00

Способ.

SELECT *
FROM
STUDENTS

WHERE SIMA IN (‘Анатолий’, ’Владимир’);

Пример 2.Поиск всех студентов, имеющих стипендию 17.00 и 25.00

SELECT*

FROM STUDENTS

WHERE STIP IN (17.00,25.00);

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

SNUM SFAM SIMA SOTCH STIP

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

3412 Поляков Анатолий Алексеевич 25.50

3413 Старова Любовь Михайловна 17.00

3416 Нагорный Евгений Васильевич 25.50


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



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