Введение в СУБД MySQL

Возможные решения


  1. mysql> select e_id, birth_date -> from employee_per -> and birth_date <= '1964-12-31';

mysql> select e_id, birth_date -> from employee_per -> where birth_date >= '1970-01-01' -> and birth_date <= '1972-12-31';

Результат запроса представлен на рис. 9.5.


Рис. 9.5.  Поиск по дате рождения в определенном диапазоне


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.  Количество сотрудников, родившихся в каждом месяце




    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;

  • 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;

  • mysql> select sex, count(*) -> from employee_per -> GROUP BY sex;
  • mysql> select m_status, count(*) -> from employee_per -> GROUP BY m_status;
  • mysql> select sum(children) from employee_per;
  • mysql> select children, count(*) AS -> число from employee_per -> GROUP BY children -> ORDER BY number DESC;



    1. mysql> select e_id, birth_date -> from employee_per -> and birth_date <= '1964-12-31';

    mysql> select e_id, birth_date -> from employee_per -> where birth_date >= '1970-01-01' -> and birth_date <= '1972-12-31';

    Результат запроса представлен на рис. 9.5.


    Рис. 9.5.  Поиск по дате рождения в определенном диапазоне




    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.  Количество сотрудников, родившихся в каждом месяце




    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;

  • 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;

  • mysql> select sex, count(*) -> from employee_per -> GROUP BY sex;
  • mysql> select m_status, count(*) -> from employee_per -> GROUP BY m_status;
  • mysql> select sum(children) from employee_per;
  • mysql> select children, count(*) AS -> число from employee_per -> GROUP BY children -> ORDER BY number DESC;


  • Содержание раздела






    © 2003-2007 INTUIT.ru. Все права защищены.