Лекция 6. Логические операторы
В лекции рассматриваются логические операторы и способы их применения в MySql. Также рассматриваются способы упорядочивания данных , способы ограничения извлекаемых данных и команды обновления записей. В этой лекции мы рассмотрим, как выбрать данные на основе условий SQL, представленных с помощью булевых (логических) операторов.
Использовать их очень просто. Ниже показан оператор SELECT, который выводит имена сотрудников, которые получают более 70000, но меньше 90000. SELECT f_name, l_name from employee_data where salary > 70000 AND salary < 90000; На рис. 6.1. приведен результат запроса.
Рис. 6.1. Имена сотрудников, которые получают более 70000, но меньше 90000 Давайте выведем список сотрудников, фамилии которых начинаются с буквы К или Л. SELECT l_name from employee_data where l_name like 'К%' OR l_name like 'Л%'; На рис. 6.2. приведен результат запроса.
Рис. 6.2. Сотрудники, фамилии которых начинаются с буквы К или Л Вот более сложный пример: список имен и возраста сотрудников, фамилии которых не начинаются с К или Л, и которые младше 30 лет. SELECT f_name, l_name , age from employee_data where (l_name not like 'К%' OR l_name not like 'Л%') AND age < 30; На рис. 6.3. приведен результат запроса.
Рис. 6.3. Список имен и возраста сотрудников, фамилии которых не начинаются с К или Л, и которые младше 30 лет Обратите внимание на использование скобок в представленном выше операторе. Скобки предназначены для выделения различных логических условий и удаления двусмысленностей. Оператор NOT поможет при поиске всех сотрудников, которые не являются программистами. (Программисты включают старших программистов, программистов мультимедиа и программистов). SELECT f_name, l_name, title from employee_data where title NOT LIKE "%программист%"; На рис. 6.4. приведен результат запроса.
Рис. 6.4. Поиск всех сотрудников, которые не являются программистами И последний пример перед упражнениями. Показать всех сотрудников со стажем работы в компании более 3 лет, которые старше 30 лет. select f_name, l_name from employee_data where yos > 3 AND age > 30; На рис. 6.5. приведен результат запроса.
Рис. 6.5. Все сотрудники, которые старше 30 лет, и имеют стаж работы более 3 лет Задания 1. Вывести имена и фамилии всех сотрудников, которые получают зарплату не более 90000 и не являются программистами, старшими программистами или программистами мультимедиа. 2. Что делает следующий оператор? SELECT l_name, f_name from employee_data where title NOT LIKE '%продавец%' AND age < 30; 3. Вывести все идентификационные номера и имена сотрудников в возрасте между 32 и 40 годами. 4. Выберите имена всех сотрудников в возрасте 32 лет, которые не являются программистами. Возможные решения 1. mysql> select f_name, l_name from employee_data 2. -> where salary <= 90000 3. -> AND title NOT LIKE '%программист%';
5. mysql> SELECT l_name, f_name from employee_data 6. -> where title NOT LIKE '%продавец%' -> AND age < 30; 7. mysql> select emp_id, f_name, l_name from 8. -> employee_data where age > 32 9. -> and age < 40; 10.mysql> select f_name, l_name from employee_data 11. -> where age = 32 AND 12. -> title NOT LIKE '%программист%';
Популярное: Почему стероиды повышают давление?: Основных причин три... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (249)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |