Выборка данных с помощью условий
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 (РАЗЛИЧНЫЙ) исключает появление повторяющихся данных.
Пример: Выведем все уникальные должности из таблицы.
Популярное: Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (375)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |