Базы данных являются важным строительным блоком современных приложений. Однако базы данных хранят огромное количество данных. Следовательно, нам нужны способы отфильтровать данные и получить только необходимые записи.
Один из наиболее распространенных методов фильтрации данных SQL — использование предложения WHERE. Предложение WHERE в SQL позволяет нам фильтровать записи на основе заданного условия. В этом предложении может быть указано одно или несколько условий, которые позволяют нам фильтровать записи, возвращаемые оператором SELECT.
В этом руководстве показано, как работать с предложением WHERE и указывать несколько условий в одном предложении, что обеспечивает более контролируемую и детальную фильтрацию данных.
Основы предложения SQL WHERE
Давайте начнем с основ и изучим основы работы с предложением WHERE в SQL.
Предположим, у нас есть таблица, содержащая информацию о стране, и мы получаем только страны с населением (на квадратный километр) больше 100 и площадью больше 2000000.
Мы можем запустить запрос следующим образом:
ВЫБИРАТЬ * ОТ sample_db.country_informationГДЕ площадь > 2 000 000 И население_на_км_кв. > 100 ;
В предыдущем примере мы используем предложение WHERE и оператор AND для указания двух условий. Использование оператора AND сообщает SQL, что оба условия ДОЛЖНЫ быть выполнены, чтобы запись была включена в набор результатов.
Это должно возвращать только страны, которые соответствуют указанным критериям следующим образом:
Давайте рассмотрим другие операторы для указания нескольких условий в предложении WHERE.
Оператор SQL ИЛИ
Оператор ИЛИ позволяет нам указать несколько условий в предложении WHERE. Тем не менее, в отличие от оператора И, который требует выполнения всех условий, оператор ИЛИ требует выполнения хотя бы одного из условий.
Например, чтобы выбрать страны, площадь которых превышает 2 000 000 человек, или население (на квадратный километр) превышает 100 человек, мы можем выполнить следующий запрос:
ВЫБИРАТЬ * ОТ sample_db.country_informationГДЕ площадь > 2 000 000 ИЛИ население_на_км_кв. > 100 ;
В этом случае запрос должен вернуть следующие результаты:
Оператор SQL IN
Мы также можем использовать оператор IN, чтобы указать несколько значений для столбца. Например, чтобы выбрать страны, название которых включает строки «США» и «Россия», мы можем выполнить запрос следующим образом:
ВЫБИРАТЬ * ОТ sample_db.country_informationГДЕ страна В ( 'Соединенные Штаты' , 'Россия' ) ;
Результат:
Оператор НЕ SQL
Оператор НЕ позволяет нам отрицать данное условие.
Например, выберите страны, у которых нет указанной площади и популярности на кв. км:
ВЫБИРАТЬ * ОТ sample_db.country_informationГДЕ НЕ площадь > 2 000 000 И население_на_км_кв. > 100 ;
Результат:
Несколько операторов SQL
Мы также можем комбинировать несколько операторов, чтобы задать более сложные условия.
ВЫБИРАТЬ * ОТ sample_db.country_informationГДЕ ( информация о стране.область > 2 000 000 И население_на_км_кв. > 100 ) ИЛИ страна = 'Китай' ;
Выход:
В этом примере мы используем круглые скобки для группировки первых двух условий, чтобы они оценивались как одно условие перед сравнением с третьим условием.
Заключение
Мы узнали, как использовать предложение WHERE для указания нескольких условий в SQL. Кроме того, мы рассмотрели операторы AND, OR, IN и NOT и узнали, как их комбинировать для создания более сложных условий.