Как написать такой SQL запрос?
Нужно посчитать количество работников в каждом отделе в таблице employees
и из другой таблицы departments взять названия отделов
Дополнительно:
select departments.id, departments.department, count(*) as count from departments join employees on employees.department_id = departments.id group by departments.id, departments.name; |
select departments.id, departments.department, count(*) as count from departments join employees on employees.department_id = departments.id group by departments.id, departments.name;
В случае если нам нужны департаменты у которых нет сотрудников inner join меняем на left join
select departments.id, departments.department, count(*) as count from departments left join employees on employees.department_id = departments.id group by departments.id, departments.name; |
select departments.id, departments.department, count(*) as count from departments left join employees on employees.department_id = departments.id group by departments.id, departments.name;
- Спасибо ^^
- Запрос не выдаст департаменты в которых нет сотрудников ...
- Slava Rozhnev, как то в задаче не упоминалось про такой кейс, но да пожалуй стоит его рассмотреть
- Slava Rozhnev, дополнил
select d.DEPARTMENT_ID, d.DEPARTMENT_NAME, COUNT(e.EMPLOYEE_ID) from departments d left join employees e on d.DEPARTMENT_ID = e.DEPARTMENT_ID group by d.DEPARTMENT_ID, d.DEPARTMENT_NAME; |
select d.DEPARTMENT_ID, d.DEPARTMENT_NAME, COUNT(e.EMPLOYEE_ID) from departments d left join employees e on d.DEPARTMENT_ID = e.DEPARTMENT_ID group by d.DEPARTMENT_ID, d.DEPARTMENT_NAME;
SQL online editor
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос


Чтобы написать SQL запрос, необходимо определить, какую конкретно задачу вы хотите решить. SQL (Structured Query Language) - это язык запросов, который используется для взаимодействия с базами данных. Вот пример SQL запроса для выборки данных из таблицы:
SELECT * FROM table_name;
Где "table_name" - это название таблицы, из которой вы хотите выбрать данные, а звездочка "*" означает, что вы выбираете все столбцы. Если вы хотите выбрать только определенные столбцы, то запрос будет выглядеть так:
SELECT column1, column2 FROM table_name;
Если вы хотите выбрать данные, удовлетворяющие определенному условию, используйте оператор WHERE:
SELECT * FROM table_name WHERE condition;
Где "condition" - это условие, которому должны соответствовать данные. Например, если вы хотите выбрать данные, где значение столбца "column1" равно определенному значению:
SELECT * FROM table_name WHERE column1 = 'value';
Также можно использовать различные операторы, такие как AND, OR, IN, LIKE и другие для создания более сложных запросов. Не забывайте о безопасности данных и используйте подготовленные запросы, чтобы защититься от SQL инъекций.
Надеюсь, это поможет вам написать SQL запрос и решить вашу задачу. Если у вас есть более конкретный вопрос или пример данных, не стесняйтесь задавать.