SQL WHERE предложение
Где пункт
Базовая форма инструкции SELECT - это блок SELECT-FROM-WHERE. В операторе SELECT предложение WHERE является необязательным. Использование SELECT без предложения WHERE полезно для просмотра данных из таблиц.
В предложении WHERE вы можете указать условие поиска (логическое выражение), которое имеет одно или несколько условий. Когда условие (логическое выражение) оценивается как истинное, предложение WHERE фильтрует нежелательные строки из результата.
Вот синтаксис:
Синтаксис:
SELECT <column_list> ОТ <имя таблицы> ГДЕ <условие>;
Параметры:
название | Описание |
---|---|
table_name | Наименование таблицы. |
column_list | Наименование столбцов таблицы. |
состояние | Условия поиска. |
SQL: предложение WHERE - синтаксическая диаграмма
Содержание:
- Типы условий
- Пример: использование предложения WHERE
- Пример: предложение WHERE с использованием условий сравнения
- Пример: предложение WHERE с использованием выражения
- Пример: предложение WHERE с использованием условия BETWEEN
- Пример: предложение WHERE с использованием условия IN
- Пример: предложение WHERE с использованием условия LIKE
- Пример: предложение WHERE с использованием условия NULL
- Пример: предложение WHERE с использованием логических условий
Типы условий
Состояние | Операторы SQL |
---|---|
сравнение | =,>,> =, <, <=, <> |
Диапазон фильтрации | МЕЖДУ |
Подходим шаблон персонажа | ЛАЙК |
Фильтрация списка [Соответствует любому из списка значений] | В |
Нулевое тестирование | НУЛЕВОЙ |
Операторы сравнения:
Операторы SQL | Имея в виду |
---|---|
знак равно | Равно |
> | Лучше чем |
> = | Больше или равно |
< | Меньше, чем |
<= | Меньше или равно |
<> | Не равно |
SQL: условие сравнения - синтаксическая диаграмма
Пример: использование предложения WHERE в SQL
В следующем запросе отображаются данные employee_id, first_name, last_name, департамента_id сотрудников, чей отправлениемет = 100:
Пример таблицы: сотрудники
Код SQL:
SELECT employee_id, first_name,
last_name, department_id
FROM employees
WHERE department_id=100;
Выход:
EMPLOYEE_ID FIRST_NAME LAST_NAME DEPARTMENT_ID ----------- -------------------- ------------------- ------ ------------- 108 Нэнси Гринберг 100 109 Даниэль Фавиет 100 110 Джон Чен 100 111 Исмаэль Скиарра 100 112 Жозе Мануэль Урман 100 113 Луис Попп 100
Наглядная презентация:
В следующем запросе отображаются employee_id, job_id, зарплата сотрудников, чье last_name = 'Lorentz'.
Примечание. Строки символов заключаются в кавычки. Символьные значения чувствительны к регистру для некоторой базы данных.
Код SQL:
SELECT employee_id, job_id, salary
FROM employees
WHERE last_name ='Lorentz';
Выход:
EMPLOYEE_ID JOB_ID SALARY ----------- ---------- ---------- 107 IT_PROG 4200
Наглядная презентация:
Пример: предложение WHERE с использованием условий сравнения в SQL
Следующий запрос отображает значения employee_id, first_name, last_name и оклада сотрудников, чья зарплата больше или равна 4000:
Пример таблицы: сотрудники
Код SQL:
SELECT employee_id, first_name, last_name, salary
FROM employees
WHERE salary>=4000;
Выход:
EMPLOYEE_ID FIRST_NAME LAST_NAME SALARY ----------- -------------------- ------------------- ------ ---------- 100 Стивен Кинг 24000 101 Нина Кочхар 17000 102 Лекс Де Хаан 17000 103 Александр Гунольд 9000 104 Брюс Эрнст 6000 105 Дэвид Остин 4800 106 Valli Pataballa 4800 107 Диана Лоренц 4200 108 Нэнси Гринберг 12008 109 Даниэль Фавиет 9000 110 Джон Чен 8200 111 Исмаэль Скарра 7700 112 Жозе Мануэль Урман 7800 113 Луис Попп 6900 114 Ден Рафаэли 11000 ......................... .........................
Пример: предложение WHERE с использованием выражения в SQL
Следующий запрос отображает first_name, last_name, salary и (salary + (salary * Commission_pct)) как Чистую зарплату сотрудников, чья Чистая зарплата находится в диапазоне 10000 и 15000, и которые получают по меньшей мере процент комиссии_pct.
Пример таблицы: сотрудники
Код SQL:
SELECT first_name,last_name,salary,
(salary+(salary*commission_pct)) "Net Salary"
FROM employees
WHERE
(salary+(salary*commission_pct))
BETWEEN 10000 AND 15000
AND commission_pct>0
Выход:
FIRST_NAME LAST_NAME SALARY Чистая зарплата -------------------- ------------------------- ----- ----- ---------- Джеральд Кэмбро 11000 14300 Eleni Zlotkey 10500 12600 Питер Такер 10000 13000 Дэвид Бернштейн 9500 11875 Питер Холл 9000 11250 Джанет Кинг 10000 13500 Патрик Салли 9500 12825 Аллан Макьюэн 9000 12150 Линдси Смит 8000 10400 Клара Вишни 10500 13125 Даниэль Грин 9500 10925 Лиза Озер 11500 14375 Харрисон Блум 10000 12000 Тайлер Фокс 9600 11520 Эллен Абель 11000 14300 Алисса Хаттон 8800 11000 Джонатон Тейлор 8600 10320 Джек Ливингстон 8400 10080
Наглядная презентация:
Пример: предложение WHERE, использующее условие BETWEEN в SQL
Условие BETWEEN используется для проверки значений в списке.
SQL: МЕЖДУ условием - синтаксическая диаграмма
Следующий запрос отображает значения employee_id, first_name, last_name и оклада сотрудников, чья зарплата больше или равна 4000 и меньше чем равна 6000, где 4000 - нижний предел, а 6000 - верхний предел зарплаты.
Пример таблицы: сотрудники
Код SQL:
SELECT employee_id, first_name, last_name, salary
FROM employees
WHERE salary BETWEEN 4000 AND 6000;
Выход:
EMPLOYEE_ID FIRST_NAME LAST_NAME SALARY ----------- -------------------- ------------------- ------ ---------- 104 Брюс Эрнст 6000 105 Дэвид Остин 4800 106 Valli Pataballa 4800 107 Диана Лоренц 4200 124 Кевин Моргос 5800 184 нандита сарчанд 4200 185 Алексис Булл 4100 192 Сара Белл 4000 200 Дженнифер Уэйлен 4400 202 Пэт Фай 6000
Наглядная презентация:
Пример: предложение WHERE с использованием условия IN в SQL
Условие IN используется для проверки значений в списке.
Условие SQL: IN - Синтаксическая диаграмма
Следующий запрос отображает идентификатор сотрудника, имя, фамилия, имя_подразделения, идентификатор отдела и зарплату сотрудников, чьи отделы 60, 90 или 100.
Пример таблицы: сотрудники
Код SQL:
SELECT employee_id, first_name, last_name,
department_id, salary
FROM employees
WHERE department_id IN(60,90,100);
Выход :
EMPLOYEE_ID FIRST_NAME LAST_NAME DEPARTMENT_ID SALARY ----------- -------------------- ------------------- ------ ------------- ---------- 103 Александр Гунольд 60 9000 104 Брюс Эрнст 60 6000 105 Дэвид Остин 60 4800 106 Valli Pataballa 60 4800 107 Диана Лоренц 60 4200 100 Стивен Кинг 90 24000 101 Neena Kochhar 90 17000 102 Lex De Haan 90 17000 108 Нэнси Гринберг 100 12008 109 Даниэль Фавиет 100 9000 110 Джон Чен 100 8200 111 Исмаэль Скарра 100 7700 112 Жозе Мануэль Урман 100 7800 113 Луис Попп 100 6900
Наглядная презентация:
Пример: предложение WHERE, использующее условие LIKE в SQL
Условие LIKE используется для поиска по шаблону строковых значений. Условие поиска может содержать либо цифры, либо буквенные символы, _ обозначает один символ, а% обозначает ноль или несколько символов.
SQL: LIKE условие - синтаксическая диаграмма
Следующий запрос отображает идентификатор сотрудника, имя, фамилию и зарплату сотрудников, чье имя начинается с «S».
Пример таблицы: сотрудники
Код SQL:
SELECT employee_id, first_name, last_name,
department_id, salary
FROM employees
WHERE first_name LIKE('S%');
Выход:
EMPLOYEE_ID FIRST_NAME LAST_NAME DEPARTMENT_ID SALARY ----------- -------------------- ------------------- ------ ------------- ---------- 166 Сундар Анд 80 6400 116 Шелли Байда 30 2900 192 Сара Белл 50 4000 205 Шелли Хиггинс 110 12008 100 Стивен Кинг 90 24000 173 Сундита Кумар 80 6100 128 Стивен Маркл 50 2200 203 Сьюзен Маврис 40 6500 194 Сэмюэл Маккейн 50 3200 161 Сарат Сьюэлл 80 7000 138 Стивен Стайлз 50 3200 117 Сигал Тобиас 30 2800 123 Шанта Фоллман 50 6500
Наглядная презентация:
Пример: предложение WHERE, использующее условие NULL в SQL
Оператор IS NULL используется для проверки нулей.
SQL: условие NULL - синтаксическая диаграмма
В следующем запросе отображаются employee_id, first_name, last_name и оклад сотрудников, для которых Department_id равно нулю.
Пример таблицы: сотрудники
Код SQL:
SELECT employee_id, first_name, last_name,
department_id, salary
FROM employees
WHERE department_id IS NULL;
Выход:
EMPLOYEE_ID FIRST_NAME LAST_NAME DEPARTMENT_ID SALARY ----------- -------------------- ------------------- ------ ------------- ---------- 178 Кимберели Грант 7000
Наглядная презентация:
Пример: предложение WHERE с использованием логических условий в SQL
Логические условия
операторы | Описание |
---|---|
А ТАКЖЕ | Возвращает TRUE, если оба условия выполняются. |
ИЛИ ЖЕ | Возвращает TRUE, если какое-либо условие выполняется. |
НЕ | Возвращает TRUE, если следующее условие ложно. |
SQL: логическое условие - синтаксическая диаграмма
Пример: предложение WHERE с использованием оператора AND в SQL
В следующем запросе отображаются employee_id, first_name, last_name и заработная плата сотрудников, чье first_name начинается с 'S', а заработная плата больше или равна 4000.
Пример таблицы: сотрудники
Код SQL:
SELECT employee_id, first_name, last_name,
department_id, salary
FROM employees
WHERE first_name LIKE('S%')
AND salary>=4000;
Выход:
EMPLOYEE_ID FIRST_NAME LAST_NAME DEPARTMENT_ID SALARY ----------- -------------------- ------------------- ------ ------------- ---------- 166 Сундар Анд 80 6400 192 Сара Белл 50 4000 205 Шелли Хиггинс 110 12008 100 Стивен Кинг 90 24000 173 Сундита Кумар 80 6100 203 Сьюзен Маврис 40 6500 161 Сарат Сьюэлл 80 7000 123 Шанта Фоллман 50 6500
Пример: предложение WHERE с использованием оператора OR в SQL
В следующем запросе отображаются employee_id, first_name, last_name и заработная плата сотрудников, чье имя, начинающееся с «S» или «A».
Пример таблицы: сотрудники
Код SQL:
SELECT employee_id, first_name, last_name,
department_id, salary
FROM employees
WHERE first_name LIKE('S%')
OR first_name LIKE('A%')
Выход:
EMPLOYEE_ID FIRST_NAME LAST_NAME DEPARTMENT_ID SALARY ----------- -------------------- ------------------- ------ ------------- ---------- 100 Стивен Кинг 90 24000 103 Александр Гунольд 60 9000 115 Александр Ху 30 3100 116 Шелли Байда 30 2900 117 Сигал Тобиас 30 2800 121 Адам Фрипп 50 8200 123 Шанта Фоллман 50 6500 128 Стивен Маркл 50 2200 138 Стивен Стайлз 50 3200 147 Альберто Эрразуриз 80 12000 158 Аллан Макьюэн 80 9000 161 Сарат Сьюэлл 80 7000 166 Сундар Анд 80 6400 167 Амит Банда 80 6200 173 Сундита Кумар 80 6100 175 Алисса Хаттон 80 8800 185 Алексис Булл 50 4100 187 Энтони Кабрио 50 3000 192 Сара Белл 50 4000 194 Сэмюэл Маккейн 50 3200 196 Алана Уолш 50 3100 203 Сьюзен Маврис 40 6500 205 Шелли Хиггинс 110 12008
Пример: предложение WHERE с использованием оператора NOT в SQL
Следующий запрос отображает идентификатор сотрудника, имя, фамилию, фамилию и зарплату сотрудников, за исключением идентификатора отдела 90, 60 или 100:
Пример таблицы: сотрудники
Код SQL:
SELECT employee_id, first_name, last_name,
department_id, salary
FROM employees
WHERE department_id
NOT IN (90, 60, 100);
Выход:
EMPLOYEE_ID FIRST_NAME LAST_NAME DEPARTMENT_ID SALARY ----------- -------------------- ------------------- ------ ------------- ---------- 114 Ден Рафаэли 30 11000 115 Александр Ху 30 3100 116 Шелли Байда 30 2900 117 Сигал Тобиас 30 2800 118 Ги Химуро 30 2600 119 Карен Кольменарес 30 2500 120 Мэтью Вайс 50 8000 121 Адам Фрипп 50 8200 122 Payam Kaufling 50 7900 123 Шанта Фоллман 50 6500 124 Кевин Моргос 50 5800 125 Джулия Найер 50 3200 126 Ирэн Миккилинени 50 2700 127 Джеймс Лэндри 50 2400 128 Стивен Маркл 50 2200 129 Лора Биссо 50 3300 130 Може Аткинсон 50 2800 131 Джеймс Марлоу 50 2500 132 TJ Olson 50 2100 133 Джейсон Маллин 50 3300 134 Майкл Роджерс 50 2900 135 Ки Джи 50 2400 136 Хейзел Филтанкер 50 2200 137 Ренске Ладвиг 50 3600 ................ ................
Наглядная презентация:
Смотрите нашу базу данных моделей
Упражнения по SQL
- Упражнения по SQL, практика, решение
- SQL Получить данные из таблиц [33 Упражнения]
- Булевы и реляционные операторы SQL [12 упражнений]
- Подстановочные знаки SQL и специальные операторы [22 упражнения]
- Агрегатные функции SQL [25 упражнений]
- Вывод запроса форматирования SQL [10 упражнений]
- SQL-запросы к нескольким таблицам [7 упражнений]
- ФИЛЬТРАЦИЯ И СОРТИРОВКА в базе данных персонала [38 упражнений]
- SQL СОЕДИНЯЕТ
- SQL ПОДПИСИ
- SQL Union [9 упражнений]
- SQL View [16 упражнений]
- Управление учетными записями пользователей SQL [16 упражнение]
- База данных фильмов
- ОСНОВНЫЕ запросы к базе данных фильмов [10 упражнений]
- ПОДПИСКИ на фильм База данных [16 упражнений]
- ПРИСОЕДИНЯЕТСЯ к базе данных фильма [24 упражнения]
- Футбольная база
- Вступление
- href = "/ sql-упражнения / футбол-база данных-упражнения / основные-упражнения-на-футболе-базе данных.php"> ОСНОВНЫЕ запросы к базе данных по футболу [29 упражнений]
- ПОДПИСКИ по футбольной базе данных [33 упражнения]
- База данных больницы
- База данных сотрудников
- ОСНОВНЫЕ запросы к базе данных сотрудников [115 упражнений]
- БРОНИРОВАНИЕ на сотрудника База данных [77 Упражнения]
- Еще не все!
Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.
Предыдущий: ВЫБРАТЬ с помощью DISTINCT нескольких столбцов
Далее: операторы SQL
Новый контент: Composer: менеджер зависимостей для PHP , R программирования