Как написать такой SQL запрос?

Ссылка скопирована
12 апреля 2026 1 ответ

Нужно посчитать количество работников в каждом отделе в таблице employees

Как написать такой SQL запрос?

и из другой таблицы departments взять названия отделов

Как написать такой SQL запрос?

Дополнительно:

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

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Стас DB Ответ

Чтобы написать SQL запрос, необходимо определить, какую конкретно задачу вы хотите решить. SQL (Structured Query Language) - это язык запросов, который используется для взаимодействия с базами данных. Вот пример SQL запроса для выборки данных из таблицы:

SELECT * FROM TABLE_NAME;

SELECT * FROM table_name;

Где "table_name" - это название таблицы, из которой вы хотите выбрать данные, а звездочка "*" означает, что вы выбираете все столбцы. Если вы хотите выбрать только определенные столбцы, то запрос будет выглядеть так:

SELECT column1, column2 FROM TABLE_NAME;

SELECT column1, column2 FROM table_name;

Если вы хотите выбрать данные, удовлетворяющие определенному условию, используйте оператор WHERE:

SELECT * FROM TABLE_NAME WHERE condition;

SELECT * FROM table_name WHERE condition;

Где "condition" - это условие, которому должны соответствовать данные. Например, если вы хотите выбрать данные, где значение столбца "column1" равно определенному значению:

SELECT * FROM TABLE_NAME WHERE column1 = 'value';

SELECT * FROM table_name WHERE column1 = 'value';

Также можно использовать различные операторы, такие как AND, OR, IN, LIKE и другие для создания более сложных запросов. Не забывайте о безопасности данных и используйте подготовленные запросы, чтобы защититься от SQL инъекций.

Надеюсь, это поможет вам написать SQL запрос и решить вашу задачу. Если у вас есть более конкретный вопрос или пример данных, не стесняйтесь задавать.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно