кодесурса
«SQL

SQL WHERE предложение

script1adsense2code
script1adsense3code

Где пункт

Базовая форма инструкции SELECT - это блок SELECT-FROM-WHERE. В операторе SELECT предложение WHERE является необязательным. Использование SELECT без предложения WHERE полезно для просмотра данных из таблиц.

В предложении WHERE вы можете указать условие поиска (логическое выражение), которое имеет одно или несколько условий. Когда условие (логическое выражение) оценивается как истинное, предложение WHERE фильтрует нежелательные строки из результата.

Вот синтаксис:

Синтаксис:

 SELECT <column_list> 
ОТ <имя таблицы>
ГДЕ <условие>; 

Параметры:

название Описание
table_name Наименование таблицы.
column_list Наименование столбцов таблицы.
состояние Условия поиска.

SQL: предложение WHERE - синтаксическая диаграмма

«SQL

Содержание:

Типы условий

Состояние Операторы SQL
сравнение =,>,> =, <, <=, <>
Диапазон фильтрации МЕЖДУ
Подходим шаблон персонажа ЛАЙК
Фильтрация списка [Соответствует любому из списка значений] В
Нулевое тестирование НУЛЕВОЙ

Операторы сравнения:

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

Наглядная презентация:

«SQL

В следующем запросе отображаются 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: МЕЖДУ условием - синтаксическая диаграмма

«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 - Синтаксическая диаграмма

«SQL

Следующий запрос отображает идентификатор сотрудника, имя, фамилия, имя_подразделения, идентификатор отдела и зарплату сотрудников, чьи отделы 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

Наглядная презентация:

«SQL:

Пример: предложение WHERE, использующее условие LIKE в SQL

Условие LIKE используется для поиска по шаблону строковых значений. Условие поиска может содержать либо цифры, либо буквенные символы, _ обозначает один символ, а% обозначает ноль или несколько символов.

SQL: LIKE условие - синтаксическая диаграмма

«SQL

Следующий запрос отображает идентификатор сотрудника, имя, фамилию и зарплату сотрудников, чье имя начинается с «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

Наглядная презентация:

«SQL:

Пример: предложение WHERE, использующее условие NULL в SQL

Оператор IS NULL используется для проверки нулей.

SQL: условие NULL - синтаксическая диаграмма

«SQL

В следующем запросе отображаются 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

Наглядная презентация:

«SQL:

Пример: предложение WHERE с использованием логических условий в SQL

Логические условия

операторы Описание
А ТАКЖЕ Возвращает TRUE, если оба условия выполняются.
ИЛИ ЖЕ Возвращает TRUE, если какое-либо условие выполняется.
НЕ Возвращает TRUE, если следующее условие ложно.

SQL: логическое условие - синтаксическая диаграмма

«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

Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.

Предыдущий: ВЫБРАТЬ с помощью DISTINCT нескольких столбцов
Далее: операторы SQL

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code