Условия позволяют указать какие строки таблицы нужно вывести в результате выполнения запроса. Задаются они после указания необходимых столбцов и таблиц командой WHERE.
Условие на выборку добавляется при составлении большинства запросов. Они позволяют отсеять не нужные строки, путем указания тех или иных параметров отбора. В результате можно из больших таблиц быстро выбрать необходимые строки. Именно это и была основная задумка при создании языка запросов для БД.
Таблицу для примеров используем ту же, что и в предыдущей главе:
num (номер товара) |
title (название) |
price (цена) |
1 | Чайник | 300 |
2 | Чашка | 100 |
3 | Ложка | 25 |
4 | Тарелка | 100 |
Пример. Чтобы выбрать товыры стоимостью 100 рублей, нужно задать условие:
SELECT * FROM goods WHERE price = 100
Здесь, раздел SELECT и FROM указывают, какие столбцы из каких таблиц выводить.
WHERE – команда указывающая, что задается условие выбора.
price = 100 – критерий выбора строк.
Такой запрос отбросит все строки, не удовлетворяющие условию. В результате будет получен следующий набор данных:
Оператор | Значение |
= | равенство |
> | больше |
< | меньше |
!= | не равно |
>= | больше либо равно |
<= | меньше либо равно |
Есть еще другие операции для построения условий. Но об этом позже.
Стоит так же отметить возможность задавать несколько условий. Например, нужно выбрать все товары с номером больше 2 и ценой меньше 100:
SELECT * FROM goods WHERE num > 2 AND price < 100
Здесь, команда AND – это логический оператор И, который указывает что должны быть выбраны строки, где верно первое условие И так же верно второе условие. Под эти условия попадает только одна строка из таблицы.
num | title | price |
3 | Ложка | 25 |
Кроме, логического оператора И (AND), существуют еще ИЛИ (OR) и НЕ (NOT). OR указывает, что должно быть верно или первое условие или второе.
SELECT * FROM goods WHERE num > 2 OR price > 100
Под такие условия попадает следующие строки:
num | title | price |
1 | Чайник | 300 |
3 | Ложка | 25 |
4 | Тарелка | 100 |
Товар под номером 1 удовлетворяет условию price > 100, товары номер 3 и 4 - условию num > 2. В таком случае, если хотя бы одно из условий верно, строка таблицы будет включена в результат запроса.
Оператор NOT добавляет отрицание в условие:
SELECT * FROM goods WHERE NOT num > 2
Такое условие означает, что нужно выбрать строки, где условие не верно.
num | title | price |
1 | Чайник | 300 |
2 | Чашка | 100 |
NOT в отличие от AND и OR, располагается не между двух других условий, а является отрицанием того условия, перед которым он установлен.
Команда WHERE встречается в очень многих задачах, и использовать ее нужно будет постоянно. В других главах можно будет увидеть примеры еще более сложных конструкций с ее применением, а так же иные команды, позволяющие выполнять сложные выборки.
В следующей главе рассматривается сортировка данных в запросах.
Обновление нескольких записей разными данными значениями в SQL
SQL запросы на выборку (SELECT)
ID последней записи в базе данных запросом SQL
В комментариях запрещено публиковать рекламные материалы. Все сообщения оправляются на модерацию и будут опубликованы, если не нарушают правил сайта после проверки.