Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Postgres: sql, group by, having, join

Как использовать JOIN, GROUP BY, HAVING в SQL?

Вопрос проверяет знание базовых операторов SQL.

Короткий ответ

JOIN используется для объединения таблиц, GROUP BY — для группировки данных, HAVING — для фильтрации сгруппированных данных. HAVING применяется после группировки, а WHERE — до неё.

Длинный ответ

  1. JOIN — объединяет строки из двух таблиц по условию:

SELECT * FROM orders
JOIN customers ON orders.customer_id = customers.id
  1. GROUP BY — группирует строки по значению столбца:

SELECT country, COUNT(*) FROM users GROUP BY country
  1. HAVING — фильтрует агрегированные результаты (после GROUP BY):

SELECT country, COUNT(*) AS cnt
FROM users
GROUP BY country
HAVING COUNT(*) > 100

Различие между WHERE и HAVING:

  • WHERE фильтрует строки до группировки.

  • HAVING фильтрует после группировки (по агрегатам).

Когда использовать:

  • JOIN — при необходимости объединения данных из разных таблиц.

  • GROUP BY + HAVING — при подсчёте агрегатов и их фильтрации (например, топ пользователей по заказам).

Уровень

  • Рейтинг:

    5

  • Сложность:

    6

Навыки

  • Postgres

    Postgres

Ключевые слова

#sql

#group by

#having

#join

Подпишись на Python Developer в телеграм