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

       

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


1. mysql> select MIN(perks) from employee_data;

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


Рис. 7.3.  Минимальные надбавки

2.

mysql> select MAX(salary) from employee_data -> where title = "программист";

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


Рис. 7.4.  Максимальная зарплата среди программистов

3. mysql> select MAX(age) from employee_data -> where title = 'продавец';

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


Рис. 7.5.  Возраст самого старого продавца

4. Вот один из способов сделать без использования агрегатных функций.

mysql> select f_name, l_name, age -> from employee_data -> order by age DESC limit 1;

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


Рис. 7.6.  Имя и фамилия самого старого сотрудника


1. mysql> select SUM(age) from employee_data;

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


Рис. 7.12.  Сумма всех возрастов сотрудников

2. mysql> select SUM(yos) from employee_data;

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


Рис. 7.13.  Общее количество лет стажа работы сотрудников

3. mysql> select SUM(salary), AVG(age) -> from employee_data where -> title = 'программист';

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


Рис. 7.14.  Сумма зарплат и средний возраст программистов

4. Этот оператор выводит процент зарплаты, которую сотрудники BigFoot получают в качестве надбавок.

mysql> select (SUM(perks)/SUM(salary) * 100) -> from employee_data;

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


Рис. 7.15.  Процент зарплаты, которую сотрудники получают в качестве надбавок






1. mysql> select count(*) from employee_data -> where yos >= 4;

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


Рис. 7.23.  Число сотрудников, которые проработали более трех лет

2. mysql> select age, count(*) -> from employee_data -> GROUP BY age;

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


Рис. 7.24.  Количество сотрудников в группах одного возраста

3. mysql> select age, count(*) -> from employee_data -> GROUP BY age -> ORDER by age DESC;

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


Рис. 7.25.  Количество сотрудников в группах одного возраста с обратной сортировкой

4. mysql> select title, AVG(age) -> from employee_data -> GROUP BY title;

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


Рис. 7.26.  Средний возраст сотрудников по должностям

5. mysql> select title, AVG(age) -> AS 'средний возраст' -> from employee_data -> GROUP BY title -> ORDER BY 'средний возраст' DESC;

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


Рис. 7.27.  Средний возраст сотрудников по должностям с использованием псевдо-имени столбца

Примечание: Нам нужно задать псевдо-имя для столбца, содержащего среднее значение возраста, чтобы его можно было сортировать.




1. mysql> select MIN(perks) from employee_data;

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


Рис. 7.3.  Минимальные надбавки

2.

mysql> select MAX(salary) from employee_data -> where title = "программист";

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


Рис. 7.4.  Максимальная зарплата среди программистов

3. mysql> select MAX(age) from employee_data -> where title = 'продавец';

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


Рис. 7.5.  Возраст самого старого продавца

4. Вот один из способов сделать без использования агрегатных функций.

mysql> select f_name, l_name, age -> from employee_data -> order by age DESC limit 1;

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


Рис. 7.6.  Имя и фамилия самого старого сотрудника




1. mysql> select SUM(age) from employee_data;

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


Рис. 7.12.  Сумма всех возрастов сотрудников

2. mysql> select SUM(yos) from employee_data;

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


Рис. 7.13.  Общее количество лет стажа работы сотрудников

3. mysql> select SUM(salary), AVG(age) -> from employee_data where -> title = 'программист';

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


Рис. 7.14.  Сумма зарплат и средний возраст программистов

4. Этот оператор выводит процент зарплаты, которую сотрудники BigFoot получают в качестве надбавок.

mysql> select (SUM(perks)/SUM(salary) * 100) -> from employee_data;

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


Рис. 7.15.  Процент зарплаты, которую сотрудники получают в качестве надбавок




1. mysql> select count(*) from employee_data -> where yos >= 4;

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


Рис. 7.23.  Число сотрудников, которые проработали более трех лет

2. mysql> select age, count(*) -> from employee_data -> GROUP BY age;

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


Рис. 7.24.  Количество сотрудников в группах одного возраста

3. mysql> select age, count(*) -> from employee_data -> GROUP BY age -> ORDER by age DESC;

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


Рис. 7.25.  Количество сотрудников в группах одного возраста с обратной сортировкой

4. mysql> select title, AVG(age) -> from employee_data -> GROUP BY title;

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


Рис. 7.26.  Средний возраст сотрудников по должностям

5. mysql> select title, AVG(age) -> AS 'средний возраст' -> from employee_data -> GROUP BY title -> ORDER BY 'средний возраст' DESC;

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


Рис. 7.27.  Средний возраст сотрудников по должностям с использованием псевдо-имени столбца

Примечание: Нам нужно задать псевдо-имя для столбца, содержащего среднее значение возраста, чтобы его можно было сортировать.

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

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