Мегаобучалка Главная | О нас | Обратная связь


Выборка данных с помощью условий



2016-09-16 375 Обсуждений (0)
Выборка данных с помощью условий 0.00 из 5.00 0 оценок




SELECT имена_столбцов FROM имя_таблицы [WHERE ...условия];

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

В условии могут использоваться операторы сравнения = и !=.

Примеры:

Выборка столбцов с условием для поля "имя".

SELECT name, last_name FROM Sotrudniki WHERE name = 'Иван';

 

Этот оператор выводит имена и фамилии всех сотрудников, которые имеют имя Иван. Отметим, что слово Иван в условии заключено в одиночные кавычки. Можно использовать также двойные кавычки. Кавычки являются обязательными, так как MySQL будет порождать ошибку при их отсутствии. Кроме того, сравнения MySQL не различают регистр символов, что означает, что с равным успехом можно использовать "Иван", "иван" и даже "ИвАн".

 

Выборка столбцов с условием для поля "должность":

SELECT name, last_name FROM Sotrudniki WHERE title="рабочий";

Выбирает имена и фамилии всех сотрудников, которые являются рабочими.

 

Выборка столбцов с условием для поля "возраст"

SELECT name, last_name FROM Sotrudniki WHERE age=40;

 

Это список имен и фамилий всех сотрудников с возрастом 40 лет. Тип столбца age задан как int, поэтому кавычки вокруг 40 не требуются. Это - незначительное различие между текстовым и целочисленным типами столбцов.

Оператор != означает 'не равно' и является противоположным оператору равенства.

 

Операторы больше и меньше, <= и >=

Примеры:

Выборка столбцов с условием "больше" для поля "возраст". Получим имена и фамилии всех сотрудников, которые старше 32 лет.

SELECT name, last_name FROM Sotrudniki WHERE age>40;

 

Используемые в основном с целочисленными данными операторы меньше или равно (<=) и больше или равно (>=) обеспечивают дополнительные возможности.

Выведем имена и фамилии сотрудников, которым не более 40 лет

SELECT name, last_name FROM Sotrudniki WHERE age<=40;

 

Поиск текстовых данных по шаблону с помощью предложения WHERE и оператора LIKE.

 

Как быть, если надо вывести данные о сотрудниках, имя которых начинается с буквы В? Язык SQL позволяет выполнить поиск строковых данных по шаблону. Для этого в предложении WHERE используется оператор LIKE. В условии вместо знака равенства используется LIKE и знак процент в шаблоне. Знак % действует как символ-заместитель (аналогично * в системе DOS). Он заменяет собой любую последовательность символов. Таким образом "В%" обозначает все строки, которые начинаются с буквы В. Аналогично "%В" выбирает строки, которые заканчиваются символом В, а "%В%" строки, которые содержат букву В.

 

Пример:Найдем сотрудников, имя которых начинается с буквы ВSELECT name, last_name FROM Sotrudniki WHERE name LIKE "В%"

 

Выведем, например, всех сотрудников, которые имеют в названии должности строку "про".

SELECT name, last_name FROM Sotrudniki WHEREtitle LIKE '%про%';

 

Логические операторы

Можно выбирать данные на основе условий SQL, представленных с помощью булевых (логических) операторов.

AND

OR

NOT

Примеры:

Показан оператор SELECT, который выводит имена сотрудников, которые получают более 7000, но меньше 9000.

SELECT name, last_name FROM Sotrudniki WHERE salary > 7000 AND salary < 9000;

 

Выведем список сотрудников, имена которых начинаются с буквы К или Л.

SELECT name, last_name FROM Sotrudniki WHERE name like 'К%' OR name like 'Л%';

 

Вывести имена и возраст сотрудников, имена которых начинаются с К или Л, и которые младше 30 лет.

SELECT name, age FROM Sotrudniki WHERE (name like 'К%' OR name like 'Л%') AND age <30;

Обратите внимание на использование скобок в представленном выше операторе. Скобки предназначены для выделения различных логических условий и удаления двусмысленностей.

 

Оператор NOT поможет при поиске всех сотрудников, которые не являются программистами. (Программисты включают старших программистов, программистов мультимедиа и программистов).

SELECT name, last_name FROM Sotrudniki WHERE title NOT LIKE "%программист%";

 

Операторы IN и BETWEEN

Оператор IN (в множестве) позволяет указать список значений либо введенный явным образом, либо при помощи подзапроса и сравнить некое значение с этим списком в предложении WHERE или HAVING.

Примеры;

Выведем имена сотрудников, которые являются рабочими или кладовщиками.

SELECT name FROM Sotrudniki WHERE title IN ('рабочий', 'кладовщик');

 

Использование NOT перед IN позволяет вывести данные, которые не входят в множество, определяемое условием IN.

Выведем имена сотрудников, которые не являются рабочими или кладовщиками.

SELECT name FROM Sotrudniki WHERE title NOT IN ('рабочий', 'кладовщик');

Оператор BETWEEN используется для определения целочисленных границ.

Пример:

Выведем сотрудников, возраст которых лежит в промежутке от 32-х до 40 лет.

SELECT name FROM Sotrudniki WHERE age BETWEEN 32 AND 40

Вместо age >= 32 AND age <= 40 мы использовали age BETWEEN 32 AND 40.

 

NOT также можно использовать вместе с BETWEEN.

 

Ключевое слово DISTINCT

Ключевое слово DISTINCT (РАЗЛИЧНЫЙ) исключает появление повторяющихся данных.

 

Пример:

Выведем все уникальные должности из таблицы.



2016-09-16 375 Обсуждений (0)
Выборка данных с помощью условий 0.00 из 5.00 0 оценок









Обсуждение в статье: Выборка данных с помощью условий

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (375)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)