Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Использование Date для сортировки данных ⇐ ПредыдущаяСтр 6 из 6
Результат запроса представлен на рис. 9.6.
Выбор данных с помощью Date Вот как можно выбрать сотрудников, которые родились в марте. select e_id, birth_datefrom employee_perwhere MONTH(birth_date) = 3;Результат запроса представлен на рис. 9.7.
Можно также использовать вместо чисел названия месяцев. select e_id, birth_datefrom employee_perwhere MONTHNAME(birth_date) = 'January';Результат запроса представлен на рис. 9.8.
Будьте внимательны при использовании названий месяцев, так как они различают регистр символов. Поэтому January будет работать, а JANUARY не будет! Аналогично можно выбрать сотрудников, родившихся в определенный год или в определенный день. select e_id, birth_datefrom employee_perwhere year(birth_date) = 1972;Результат запроса представлен на рис. 9.9.
Результат запроса представлен на рис. 9.10.
Текущие даты Ранее мы видели, что текущую дату, месяц и год можно вывести с помощью аргумента CURRENT_DATE предложений DAYOFMONTH(), MONTH() и YEAR(), соответственно. То же самое можно использовать для выборки данных из таблиц. select e_id, birth_date from employee_per where MONTH(birth_date) = MONTH(CURRENT_DATE); Результат запроса представлен на рис. 9.11.
Задания
Возможные решения 1. mysql> select e_id, birth_date, p_email -> from employee_per -> where month(birth_date) = 4; Результат запроса представлен на рис. 9.12.
или mysql> select e_id, birth_date, p_email -> from employee_per -> where MONTHNAME(birth_date) = 'April'; Результат аналогичен рис. 9.12. 2. mysql> select e_id, birth_date, s_name -> from employee_per where -> YEAR(birth_date) = 1968 -> ORDER BY s_name; Результат запроса представлен на рис. 9.13.
Примечание: Значение NULL показано в самом верху. Более подробно значение NULL будет рассмотрено ниже. 3. mysql> select e_id from employee_per -> where month(birth_date) = month(current_date); Результат запроса представлен на рис. 9.14.
4. mysql> select distinct year(birth_date) from employee_per; Результат запроса представлен на рис. 9.15.
5. mysql> select year(birth_date) as Year, -> count(*) from employee_per -> GROUP BY Year; Результат запроса представлен на рис. 9.16.
6. mysql> select MONTHNAME(birth_date) AS Month, -> count(*) AS Number -> from employee_per -> GROUP BY Month -> ORDER BY Number DESC; Результат запроса представлен на рис. 9.17.
Тип столбца Null В этой лекции мы уже встречались с типом NULL. Теперь рассмотрим его подробнее. Тип столбца NULL является специальным значением. Чтобы вставить значение NULL, удалите просто имя столбца из оператора INSERT. Столбцы содержат NULL по умолчанию, если только не определены как NOT NULL. Значение null может использоваться для целочисленных, а также текстовых или двоичных данных. NULL нельзя сравнивать с помощью арифметических операторов. Сравнение для NULL можно делать с помощью IS NULL или IS NOT NULL. select e_id, children from employee_per where children IS NOT NULL; Результат запроса представлен на рис. 9.18.
Приведенная выше команда выводит идентификаторы и количество детей сотрудников, у которых есть дети. Задания
Возможные решения 1. mysql> select e_id, s_name -> from employee_per -> where m_status = 'Y'; или mysql> select e_id, s_name -> from employee_per -> where s_name IS NOT NULL;
2. mysql> select e_id, s_name -> from employee_per -> where m_status = 'Y' -> ORDER BY s_name;
mysql> select e_id, s_name -> from employee_per -> where s_name IS NOT NULL -> ORDER BY s_name;
3. mysql> select sex, count(*) -> from employee_per -> GROUP BY sex;
4. mysql> select m_status, count(*) -> from employee_per -> GROUP BY m_status;
5. mysql> select sum(children) from employee_per;
6. mysql> select children, count(*) AS -> число from employee_per -> GROUP BY children -> ORDER BY number DESC;
Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 952; Нарушение авторского права страницы