Запрос на выборку - MySQL (219562)

Узнай цену своей работы

Формулировка задачи:

Добрый день, необходимо написать запрос, который выберет все страны, в которых количество рек >10. Имеется БД: Таблица Сountry (id,Name); таблица River(id, Name, Country_id)
select Country, count(River.Name) from Country
join River on Country.id = River.Country_id
group by Country.Name
Сейчас получается только подсчитать, сколько рек в каждой стране, но как сделать выборку?

Решение задачи: «Запрос на выборку»

textual
Листинг программы
SELECT Country, COUNT(River.id) FROM Country
JOIN River ON Country.id = River.Country_id
GROUP BY Country.Name
HAVING COUNT(river.id) > 10

Объяснение кода листинга программы

В представленном коде выполняется запрос на выборку данных из двух таблиц: Country и River.

  1. SELECT Country, COUNT(River.id) FROM Country - в этой строке указывается, какие данные необходимо выбрать из таблицы Country (в данном случае, это столбец Country и количество записей в столбце River.id).
  2. JOIN River ON Country.id = River.Country_id - здесь происходит объединение (join) таблиц Country и River по полю Country_id.
  3. GROUP BY Country.Name - после объединения таблиц, результаты группируются по полю Country.Name.
  4. HAVING COUNT(river.id) > 10 - в этой строке применяется условие к группировке, которое отбирает только те группы, количество записей в которых больше 10. Таким образом, данный запрос выбирает названия стран из таблицы Country, которые имеют более 10 рек в таблице River.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.6 из 5