Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Выборка данных с помощью условий
Теперь более подробно рассмотрим формат оператора SELECT. Его полный формат имеет вид: SELECT имена_столбцов from имя_таблицы [WHERE...условия];В операторе SELECT условия являются необязательными. Оператор SELECT без условий выводит все данные из указанных столбцов. Одним из достоинств RDBMS является возможность извлекать данные на основе определенных условий. Теперь перейдём к рассмотрению операторов сравнения. Операторы сравнения = и! = SELECT f_name, l_name from employee_data where f_name = 'Иван';Результат запроса приведен на рис. 5.4.
Этот оператор выводит имена и фамилии всех сотрудников, которые имеют имя Иван. Отметим, что слово Иван в условии заключено в одиночные кавычки. Можно использовать также двойные кавычки. Кавычки являются обязательными, так как MySQL будет порождать ошибку при их отсутствии. Кроме того сравнения MySQL не различают регистр символов, что означает, что с равным успехом можно использовать " Иван", " иван" и даже " ИвАн". SELECT f_name, l_name from employee_data where title=" программист";Результат запроса приведен на рис. 5.5.
Выбирает имена и фамилии всех сотрудников, которые являются программистами. SELECT f_name, l_name from employee_data where age = 32;Результат запроса приведен на рис. 5.6.
Это список имен и фамилий всех сотрудников с возрастом 32 года. Вспомните, что тип столбца age был задан как int, поэтому кавычки вокруг 32 не требуются. Это - незначительное различие между текстовым и целочисленным типами столбцов. Оператор! = означает 'не равно' и является противоположным оператору равенства. Операторы больше и меньше Давайте получим имена и фамилии всех сотрудников, которые старше 32 лет. SELECT f_name, l_name from employee_data where age > 32;Результат запроса приведен на рис. 5.7.
Попробуем найти сотрудников, которые получают зарплату больше 120000. SELECT f_name, l_name from employee_data where salary > 120000;Результат запроса приведен на рис. 5.8.
Теперь перечислим всех сотрудников, которые имеют стаж работы в компании менее 3 лет. SELECT f_name, l_name from employee_data where yos < 3;Результат запроса приведен на рис. 5.9.
Операторы < = и > = Используемые в основном с целочисленными данными операторы меньше или равно (< =) и больше или равно (> =) обеспечивают дополнительные возможности. select f_name, l_name, age, salaryfrom employee_data where age > = 32;Результат запроса приведен на рис. 5.10.
Выборка содержит имена, возраст и зарплаты сотрудников, которым больше 32 лет. select f_name, l_name from employee_data where yos < = 2;Результат запроса приведен на рис. 5.11.
Запрос выводит имена сотрудников, которые работают в компании меньше 3 лет. Задания 1. Напишите оператор SELECT для извлечения идентификационного номера сотрудников, которые старше 30 лет. 2. Напишите оператор SELECT для извлечения имен и фамилий всех Web-разработчиков. 3. Что выведет следующий оператор SELECT: SELECT * from employee_data where salary < =100000;4. Как вывести зарплаты и надбавки сотрудников, которые получают в качестве надбавок более 16000? 5. Перечислите имена всех сотрудников (фамилия, а затем имя), которые занимают должность бухгалтера. Возможные решения 1. select emp_id from employee_data where age > 30; 2. select f_name, l_name from employee_data where title='web designer'; 3. Следующий оператор выводит всю информацию о сотрудниках, которые получают зарплату не больше 100000. SELECT * from employee_data where salary < =100000;4. select salary, perks from employee_data where perks > = 16000; 5. select l_name, f_name from employee_data where title = 'бухгалтер'; Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 1153; Нарушение авторского права страницы