Главная » Программирование » Основы SQL Оператор Select часть 2. Конструкция WHERE
Русфонд

Основы SQL Оператор Select часть 2. Конструкция WHERE

13 мая 2012 - Рубрики Программирование

2743 просмотров

В сайдбар справа добавлена кнопка Google+. Если вам поможет данный материал, прошу вас нажмите на кнопку - порекомендуйте сайт в Google.

Добрый день!

В предыдущей заметке мы познакомились с оператором выборки языка SQL SELECT и его простейшим синтаксисом. Сегодня рассмотрим возможности фильтарции выбираемых данных.

Для фильтрации данных для операторов SQL используется конструкция WHERE.

SELECT <список полей для выборки>
FROM <название таблицы>
WHERE <условие фильтрации>

Условия в WHERE могут быть как простые, так и сложные. Сложные условия содержат дополнительные служебные слова: AND, OR, IN, NOT, BETWEEN, LIKE.

AND — логическое «и». То есть в WHERE содержится несколько условий и каждое из них должно выполнять, чтобы запись попала в результат.  Например, выбрать сотрудников с фамилией Иванов и возрастом 25 лет.

select * from employees
where age=25 and name='Иванов'

OR-логическое «или».  То есть в WHERE содержится несколько условий и хотя бы одно из них должно выполнять, чтобы запись попала в результат. Например, выбрать сотрудников с фамилией Иванов или чей возраст 26 лет.

select * from employees
where age=26 or name='Иванов'

IN — значение указанного поля должно попадать в указанный список. Например, возраст сотрудников или 25, или 26

select * from employees
where age in (25,26)

NOT — логическое «не» или отрицание.  Например, возраст сотрудников не 25 и не 26 можно записать так

select * from employees
where age  not in (25,26)

BETWEEN — «между». Значение проверяется на попадание в указанный диапазон. Например, возраст выбрать сотрудников, не младше 25 и не старше 29 лет.

select * from employees
where age between 25 and 29

LIKE — поиск по заданной маске. Маска задается в одинарных кавычках, в качестве спецсимволов используются символы % и _ . Символ % заменяет любое количество любых символов, символ _ заменяет только один символ. Для того чтобы заэкранировать специальные символы используются квадратные скобки [ ]. Например, если нужно найти всех сотрудников, фамилия которых начинается на «Сидо», то в начале знак % не ставим (потому что вначале других символов не будет)

select * from employees
where name like 'Сидо%'

Если же нужно найти всех сотрудников, фамилия которых содержит «идо», то

select * from employees
where name like '%идо%'

Если же нужно найти сотрудников, фамилия которых оканчивается на «пуло», то

select * from employees
where name like '%пуло'

Вот так работает конструкция WHERE. Теперь, указав вместо * в операторе SELECT список полей можно выбрать любую информацию по любой строке в таблице.

В следующей статье рассмотрим возможность сортировки данных при помощи конструкции ORDER BY.

Если этот материал оказался вам полезен, порекомендуйте его в в Google, нажав кнопку Google+ справа в сайдбаре или через кнопки социальных сервисов ниже.

П.С. не забудьте оставить комментарий к статье, а также поделиться ссылкой с друзьями и коллегами через социальные сервисы или скопировав ссылку на статью ниже. Кроме того, вы можете предложить тему статьи через кнопку слева "Предложить тему статьи". Там же можно оставить пожелания, идеи по развитию сайта, а также благодарности (ну а вдруг)
П.П.С. предлагаю вам также вступить в Группа Вконтакте!группу Вконтакте, где вы сможете пообщаться с участниками на интересующие вас темы. Смелее!!!
Если вы больше времени проводите в Twitter, то за обновлениями на сайте можно следить, подписавшись на мою лентуTwitter: follow me!

Возможно вам также будут интересны статьи :

 

Предыдущие материалы из данной категории:

Комментариев: 1 , , , , , , , , , , ,

Понравилась статья? Поделитесь ссылкой




Комментарии к «Основы SQL Оператор Select часть 2. Конструкция WHERE»:

  1.  Александр 30 мая 2014 22:47:17

    :wink: Полезная статья. Меня, конечно, интересовало не совсем это, но всё равно узнал о многих полезных моментов

Оставьте комментарий:




:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

Я человек, а не бот.