Вывести идентификаторы, даты рождения и адреса e-mail сотрудников, родившихся в апреле.
Вывести идентификаторы, даты рождения и имена супругов сотрудников, родившихся в 1968 г., и отсортируйте записи на основе имен их супругов.
Выведите идентификаторы сотрудников, родившихся в текущем месяце.
Сколько в базе данных имеется уникальных годов рождения?
Вывести список уникальных годов рождения и число сотрудников, родившихся в каждом таком году.
Сколько сотрудников родились в каждом месяце? Выдача должна содержать названия месяцев (не номера), и записи должны быть упорядочены по убыванию по месяцам, начиная от наибольшего номера.
Возможные решения
mysql> select e_id, birth_date, p_email
-> from employee_per
-> where month(birth_date) = 4;
Результат запроса представлен на рис. 9.12.
Рис. 9.12. Сотрудники, родившиеся в апреле
или
mysql> select e_id, birth_date, p_email
-> from employee_per
-> where MONTHNAME(birth_date) = 'April';
Результат аналогичен рис. 9.12.
mysql> select e_id, birth_date, s_name
-> from employee_per where
-> YEAR(birth_date) = 1968
-> ORDER BY s_name;
Результат запроса представлен на рис. 9.13.
Рис. 9.13. Сотрудники 1968 года рождения, с сортировкой по именам
Примечание: Значение NULL показано в самом верху. Более подробно значение NULL будет рассмотрено ниже.
mysql> select e_id from employee_per
-> where month(birth_date) = month(current_date);
Результат запроса представлен на рис. 9.14.
Рис. 9.14. Сотрудники родившиеся в этом месяце
mysql> select distinct year(birth_date) from employee_per;
Результат запроса представлен на рис. 9.15.
Рис. 9.15. Уникальные годы рождения
mysql> select year(birth_date) as Year,
-> count(*) from employee_per
-> GROUP BY Year;
Результат запроса представлен на рис. 9.16.
Рис. 9.16. Количество сотрудников, родившихся в каждом году
mysql> select MONTHNAME(birth_date) AS Month,
-> count(*) AS Number
-> from employee_per
-> GROUP BY Month
-> ORDER BY Number DESC;
Результат запроса представлен на рис. 9.17.
Рис. 9.17. Количество сотрудников, родившихся в каждом месяце
Знаете ли Вы, что абстракция - это процесс изменения уровня детализации программы. Когда мы абстрагируемся от проблемы, мы предполагаем игнорирование ряда подробностей с тем, чтобы свести задачу к более простой.