СтатьиРабота с SQL и базами данных

Условия отбора в запросе SQL (WHERE)

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

Условие на выборку добавляется при составлении большинства запросов. Они позволяют отсеять не нужные строки, путем указания тех или иных параметров отбора. В результате можно из больших таблиц быстро выбрать необходимые строки. Именно это и была основная задумка при создании языка запросов для БД.

Таблицу для примеров используем ту же, что и в предыдущей главе:

num
(номер товара)
title
(название)
price
(цена)
1Чайник300
2Чашка100
3Ложка25
4Тарелка100

Пример. Чтобы выбрать товыры стоимостью 100 рублей, нужно задать условие:

SELECT * FROM goods WHERE price = 100

Здесь, раздел SELECT и FROM указывают, какие столбцы из каких таблиц выводить.

WHERE – команда указывающая, что задается условие выбора.

price = 100 – критерий выбора строк.

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

numtitleprice
2Чашка100
4Тарелка100

Таким же образом можно использовать другие условные операторы для разных столбцов. Например, номер товара должен быть меньше 3:

SELECT * FROM goods WHERE num < 3

Цена товара от 100 рублей:

SELECT * FROM goods WHERE price >= 100

Условные операторы:

ОператорЗначение
=равенство
>больше
<меньше
!=не равно
>=больше либо равно
<=меньше либо равно

Есть еще другие операции для построения условий. Но об этом позже.

Стоит так же отметить возможность задавать несколько условий. Например, нужно выбрать все товары с номером больше 2 и ценой меньше 100:

SELECT * FROM goods WHERE num > 2 AND price < 100

Здесь, команда AND – это логический оператор И, который указывает что должны быть выбраны строки, где верно первое условие И так же верно второе условие. Под эти условия попадает только одна строка из таблицы.

numtitleprice
3Ложка25

Кроме, логического оператора И (AND), существуют еще ИЛИ (OR) и НЕ (NOT). OR указывает, что должно быть верно или первое условие или второе.

SELECT * FROM goods WHERE num > 2 OR price > 100

Под такие условия попадает следующие строки:

numtitleprice
1Чайник300
3Ложка25
4Тарелка100

Товар под номером 1 удовлетворяет условию price > 100, товары номер 3 и 4 - условию num > 2. В таком случае, если хотя бы одно из условий верно, строка таблицы будет включена в результат запроса.

Оператор NOT добавляет отрицание в условие:

SELECT * FROM goods WHERE NOT num > 2

Такое условие означает, что нужно выбрать строки, где условие не верно.

numtitleprice
1Чайник300
2Чашка100

NOT в отличие от AND и OR, располагается не между двух других условий, а является отрицанием того условия, перед которым он установлен.

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

В следующей главе рассматривается сортировка данных в запросах.


Комментарии

Имя:
Текст комментария:
* В комментариях запрещено публиковать рекламные объявления. Сообщения, содержащие ссылки на сторонние ресурсы добавляется в скрытом режиме. Они будут открыты, если не нарушают установленных правил, после проверки.
Защита от спам-роботов (* Обязателельно укажите ответ на простой вопрос ниже.)
Разность чисел шeсть минyс oдин? (цифра)