Sql операторы and, or и not
Download 31.63 Kb.
|
1 2
Bog'liqdatatabse 4lab
- Bu sahifa navigatsiya:
- SELECT
- WHERE NOT
- Пример: SELECT * FROM
SQL - Операторы AND, OR и NOT Предложение WHERE может быть объединено с операторами AND, OR и NOT. Операторы AND и OR используются для фильтрации записей на основе более чем одного условия: Оператор AND отображает запись, если все условия, разделенные символом AND, имеют значение TRUE. Оператор OR отображает запись, если любое из условий, разделенных OR, является TRUE. Оператор NOT отображает запись, если условие (и) НЕ ИСТИНА. Синтаксис AND SELECT column1, column2, ... FROM table_name WHERE condition1 AND condition2 AND condition3 ...; Синтаксис OR SELECT column1, column2, ... FROM table_name WHERE condition1 OR condition2 OR condition3 ...; Синтаксис NOT SELECT column1, column2, ... FROM table_name WHERE NOT condition; Пример AND Следующий оператор SQL выбирает все поля из «users», где пол «gender» равен 1 (женский), а баланс «balance» больше или равен (>=) 1000. Пример: SELECT * FROM users WHERE gender = 1 AND balance >= 1000; Пример OR Следующий оператор SQL выбирает все поля из «users», где баланс пользователя «balance» равен 1000 или возраст пользователя «age» равен 25. Пример: SELECT * FROM users WHERE balance = 1000 OR age = 25; Пример NOT Следующий оператор SQL выбирает все поля из «users», где возраст «age» не равен 30: Пример: SELECT * FROM users WHERE NOT age = 30 Объединение AND, OR и NOT Вы также можете комбинировать операторы AND, OR и NOT. Следующий оператор SQL выбирает все поля из «users», где возраст «age» равно 30. И баланс «balance» больше 1000 или имя «name» равно Том. Пример: SELECT * FROM users WHERE age = 30 AND (balance > 1000 OR name = 'Том'); Давайте попробуем написать несколько SQL запросов, которые помогут нам понять принцип работы AND, OR и SELECT вместе. Для начала создадим таблицу в базе данных, воспользовавшись командой CREATE:
Таблица проста до безобразия: четыре столбца, для которых заданы ограничения уровня столбца. Так же столбец id имеет ограничение уровня таблицы, которое еще и является индексом таблицы, это мы про PRIMARY KEY, если кто не понял. Всё это нужно для двух вещей: ускорить выборку данных из базы данных и обеспечить целостность данных в базе данных. А теперь давайте добавим данные в таблицу базы данных, для этого воспользуемся командой INSERT INTO:
Таблица наполнена, а теперь давайте попрактикуемся в написании запросов SELECT вместе с AND и OR:
Казалось бы, запросы одинаковы, разница только в одном операторе AND и OR, а какие разные результаты. Дело все в том, что оператор AND – это «логическое И», поэтому SQLite посмотрел на левый операнд, выполнил его условие (sex=’м’) составил у себя внутри таблицу по данному условию, а затем наложил на эту таблицу второе условие, которое стоит справа от AND (sal>20000) и удалил все строки, которые не подходят под это условие, а результат вывел нам в виде таблице. Мы говорим SQLite3: дай нам информацию о мужчинах, зарплата которых больше двадцати тысяч рублей. Оператор OR или «логическое ИЛИ» действует несколько иначе. SQLite видит условие слева (sex = ‘м’), выбирает из таблицы строку, удовлетворяющие этому условию, затем SQLite видит условие справа (sal>20000) и добавляет к строкам, полученным из первого условия новые строки, удовлетворяющие второму условию. Мы как бы говорим SQLite: дай нам информацию о мужчинах (sex =’м’) или дай нам информацию о тех людях, которые получают больше двадцати тысяч рублей (sal>20000). Download 31.63 Kb. Do'stlaringiz bilan baham: |
1 2
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling