@DavidJarr

Составить SQL запрос?

Нашел на просторах интернета такое задание по SQL

Дана следующая структура базы данных: Departments (Id, Name), Employees(Id, DepartmentId, Name, Salary).
Необходимо:
1. Написать запрос получения имени одного сотрудника, имеющего максимальную зарплату в компании, и название его отдела.
2. Получить список отделов, средняя зарплата в которых больше 1000$.


И у меня есть два вопроса
1) Правильно ли я сделал запрос для задания 1.?
select e.Name, d.Name
from Employee e
join Department d
on d.id = e.DepartmentId
Where salary = ( select max(salary) from Employee )


2) Как правильно сделать запрос к заданию 2.? Используя GROUP BY и HAVING?
  • Вопрос задан
  • 2440 просмотров
Решения вопроса 1
bezrukovPS
@bezrukovPS
Ведущий программист 1С-Битрикс
1.
select e.Name, d.Name
from Employee e
join Department d
on d.id = e.DepartmentId
Order by e.salary desc
Limit 1

2.
select max(d.Name), avg(e.salary) as avg_salary
from Employee e
join Department d
on d.id = e.DepartmentId
Group by d.id
Having avg_salary > 1000
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы