В этом учебном пособии вы узнаете, как использовать SQLite оператор WHERE с синтаксисом и примерами.
Описание
SQLite оператор WHERE используется для фильтрации результатов из оператора SELECT, INSERT, UPDATE или DELETE.
Синтаксис
Синтаксис оператора WHERE в SQLite:
Параметры или аргументы
conditions
Условия для выбора записей, которые должны быть соблюдены.
Пример - с одним условием
Сложно объяснить синтаксис SQLite оператора WHERE, поэтому давайте рассмотрим несколько примеров.
1 2 3 |
SELECT * FROM employees WHERE first_name = 'Samanta'; |
В этом примере SQLite мы использовали WHERE для фильтрации наших результатов из таблицы employees. Приведенный выше оператор SELECT возвращает все строки из таблицы employees, где first_name - 'Samanta'. Поскольку в SELECT используется *, то все поля из таблицы employees будут отображаться в результирующем наборе.
Пример - использование условия AND
1 2 3 4 |
SELECT * FROM employees WHERE last_name = 'Ivanov' AND favorite_website = 'Google.com'; |
Этот пример SQLite используется оператор WHERE для определения нескольких условий. В этом случае оператор SELECT использует условие AND, чтобы вернуть все записи таблицы employees, которые имеют фамилию 'Ivanov' и любимый сайт 'Google.com'.
Пример - использование условия OR
1 2 3 4 5 6 |
SELECT employee_id, last_name, first_name FROM employees WHERE employee_id = 1 OR employee_id = 2; |
В этом примере SQLite используется оператор WHERE для определения нескольких условий, но вместо условия AND используется условие OR. В этом случае оператор SELECT будет возвращать все значения employee_id, last_name и first_name из таблицы employee, где employee_id равен 1 или 2.
Пример - объединение условий AND и OR
1 2 3 4 |
SELECT * FROM employees WHERE (last_name = 'Petrov' AND first_name = 'Sidor') OR (employee_id = 1); |
Этот пример SQLite использует оператор WHERE для определения нескольких условий, но он сочетает в себе условие AND и условие OR. В этом примере будут возвращены все сотрудники с last_name 'Petrov' и first_name 'Sidor', а также всех employees (сотрудников) с employee_id равно 1.
Скобки определяют порядок выполнения условий AND и OR.
Пример - соединение таблиц
1 2 3 4 |
SELECT employees.employee_id, positions.title FROM employees, positions WHERE employees.position_id = positions.position_id; |
В этом примере SQLite используется оператор WHERE для объединения нескольких таблиц в один оператор SELECT. Этот оператор SELECT будет возвращать все значения employee_id и title, если в таблицах employees и positions имеется соответствующая запись на основе position_id.
Хотя вы можете использовать более старый синтаксис для объединения таблиц с помощью WHERE, более целесообразно использовать правильное INNER JOIN следующим образом:
1 2 3 4 5 |
SELECT employees.employee_id, positions.title FROM employees INNER JOIN positions ON employees.position_id = positions.position_id; |
Узнайте больше о SQLite JOINS.