Оператор 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 |