Базы данных
и язык SQL

SQL SELECT страница 2

Навигация по уроку Связанные темы
Назад<<<СодержаниеВперёд>>>

SELECT и WHERE для выбора строк таблицы

Для выбора определённых строк таблицы вместе с оператором SELECT уже потребуется ключевое слово WHERE, указывающее на некоторое значение или несколько значений, содержащиеся в интересующих нас строках. Наиболее простые условия задаются при помощи операторов сравнения и равенства (<, >, =), а также ключевого слова IS. Условий может быть несколько, тогда они перечисляются с использованием ключевого слова AND. Запросы для выбора строк имеют следующий синтаксис:

SELECT ИМЯ_СТОЛБЦА FROM ИМЯ_ТАБЛИЦЫ WHERE УСЛОВИЕ

Пример 3. Выберем из таблицы Staff строки, в которых содержатся данные только о сотрудниках, которые работают в 38-м отделе (на MS SQL Server - с предваряющей конструкцией USE company1;):

SELECT Dept, Name, Job FROM Staff WHERE Dept=38

Этот запрос вернёт следующие данные:

Пример 4. В предыдущем примере мы выбирали строки из таблицы только по значению одного столбца - DEPT. Пусть теперь нужно выбрать данные о сотрудниках, которые работают в 38-м отделе и должность которых - служащий (Clerk). Для этого в секции WHERE соответствующие значения нужно перечислить с использованием слова AND (на MS SQL Server - с предваряющей конструкцией USE company1;):

SELECT Dept, Name, Job FROM Staff WHERE Job='Clerk' AND DEPT=38

Этот запрос вернёт следующие данные:

Пример 5. Пусть нужно выбрать из таблицы Staff идентификаторы и имена тех сотрудников, размер комиссии которых - неопределённый. Для этого в секции WHERE перед указанием значения столбца Comm - NULL нужно ставить не знак равенства, а слово IS (на MS SQL Server - с предваряющей конструкцией USE company1;):

SELECT ID, Name FROM Staff WHERE Comm IS NULL

Этот запрос вернёт следующие данные:

Для указания значений в строках, которые требуется выбрать, используются и знаки сравнения.

Пример 6. Выберем из таблицы имена, размеры заработные платы и число лет, проработанных в фирме, сотрудников, которые работают в фирме более девяти лет (на MS SQL Server - с предваряющей конструкцией USE company1;):

SELECT Name, Salary, Years FROM Staff WHERE Years>9

Запрос вернёт следующие строки:

Поделиться с друзьями

Назад<<<СодержаниеВперёд>>>