Оператор SQL WHERE служит для задания дополнительного условия выборки, операций вставки, редактирования и удаления записей.
Оператор SQL WHERE имеет следующий синтаксис:
WHERE condition
Условие (condition) может включать в себя предикаты AND, OR, NOT, LIKE, BETWEEN, IS, IN, ключевое слово NULL, операторы сравнения и равенства (<, >, =).
Примеры оператора SQL WHERE. Имеется следующая таблица Planets:
| ID | PlanetName | Radius | SunSeason | OpeningYear | HavingRings | Opener |
| 1 | Mars | 3396 | 687 | 1659 | No | Christiaan Huygens |
| 2 | Saturn | 60268 | 10759.22 | — | Yes | — |
| 3 | Neptune | 24764 | 60190 | 1846 | Yes | John Couch Adams |
| 4 | Mercury | 2439 | 115.88 | 1631 | No | Nicolaus Copernicus |
| 5 | Venus | 6051 | 243 | 1610 | No | Galileo Galilei |
Пример 1. Используя оператор SQL WHERE вывести записи, значение радиуса (Radius) которых находится в пределах от 3000 до 9000:
SELECT * FROM Planets WHERE Radius BETWEEN 3000 AND 9000
Результат:
| ID | PlanetName | Radius | SunSeason | OpeningYear | HavingRings | Opener |
| 1 | Mars | 3396 | 687 | 1659 | No | Christiaan Huygens |
| 5 | Venus | 6051 | 243 | 1610 | No | Galileo Galilei |
Пример 2. Используя оператор SQL WHERE вывести название планеты (PlanetName), год ее открытия (OpeningYear) и имя первооткрывателя (Opener), планет, чье название не начинается или не заканчивается на букву «s»:
SELECT PlanetName, OpeningYear, Opener FROM Planets WHERE PlanetName NOT LIKE '%s' AND PlanetName NOT LIKE 'S%'
Результат:
| PlanetName | OpeningYear | Opener |
| Neptune | 1846 | John Couch Adams |
| Mercury | 1631 | Nicolaus Copernicus |