Составление запросов - MySQL

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

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

Помогите нубу сформулировать запросы. Проходная тема. Мозг кипит =\ База данных world.sql с сайта MySql country city countrylanguage 1) максимальным населением:
select * from country where Population = (SELECT max(Population) FROM country);
2) минимальным населением:
select * from country where Population = (SELECT min(Population) FROM country);
3) максимальной площадью:
select * from country where SurfaceArea = (SELECT max(SurfaceArea) FROM country);
4) минимальной площадью:
select * from country where SurfaceArea = (SELECT min(SurfaceArea) FROM country);
5) площадью большей средней по континенту
 SELECT continent, sum(surfacearea)/count(*) FROM country group by continent;
<-это примерно 6 максимальным числом жителей на квадратный километр 7 минимальным числом жителей на квадратный километр 8 Выберите для каждой из стран название, площадь и государственный язык. Проведите сортировку по каждому из полей в отдельности. 9 Составьте запрос, определяющий сколько городов содержится в каждой стране. 10 Найдите города, которые не являются столицами. 11 Найдите города, которые не являются столицами стран Азии. 12 Найдите города, которые не являются столицами стран Азии, таких где есть более одного языка.
SELECT 
t5.Continent,
t5.Region,
sum(t5.Countries),
sum(t5.LifeDuration),
sum(t5.Population),
sum(t5.Cities),
sum(t5.Languages)
from
(
 
select
t3.Code
t3.Continent,
t3.Region,
t3.Countries,
t3.LifeDuration,
t3.Population,
t3.Cities,
t4.Languages
from
(
select
t1.Code,
t1.Continent,
t1.Region,
t1.Countries,
t1.LifeDuration,
t1.Population,
t2.Cities
from
( 
select
Code,
Continent,
Region,
count(Name) as Countries,
ROUND(AVG(LifeExpectancy), 2) as LifeDuration, 
SUM(Population) as Population
from country
group by Code,Continent,Region
) t1 left join 
(
select
CountryCode,
count(Name) as Cities
from city
group by CountryCode 
) t2 on t2.CountryCode = t1.Code
) t3 left join 
(
select 
CountryCode,
count(Language) as Languages
from countrylanguage
group by CountryCode
) t4 on t4.CountryCode = t3.Code
) t5
group by t5.Continent,t5.Region;

Решение задачи: «Составление запросов»

textual
Листинг программы
SELECT country.Name, country.SurfaceArea,
       countrylanguage.Language     
FROM country, countrylanguage 
WHERE country.Code = countrylanguage.CountryCode AND countrylanguage.IsOfficial="T";
a) SELECT country.Name, country.SurfaceArea,
       countrylanguage.Language 
FROM country, countrylanguage 
WHERE country.Code = countrylanguage.CountryCode AND countrylanguage.IsOfficial="T"
ORDER BY Name;
b) SELECT country.Name, country.SurfaceArea,
       countrylanguage.Language 
FROM country, countrylanguage 
WHERE country.Code = countrylanguage.CountryCode AND countrylanguage.IsOfficial="T"
ORDER BY Language;
c) SELECT country.Name, country.SurfaceArea,
       countrylanguage.Language 
FROM country, countrylanguage 
WHERE country.Code = countrylanguage.CountryCode AND countrylanguage.IsOfficial="T"
ORDER BY SurfaceArea;

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

  1. В данном коде написан SQL-запрос для получения информации о странах и их официальных языках.
  2. Запрос выбирает следующие поля: название страны (country.Name), площадь страны (country.SurfaceArea), и официальный язык (countrylanguage.Language).
  3. Запрос связывает две таблицы: country и countrylanguage по полю Code.
  4. Дополнительное условие WHERE требует, чтобы связывание происходило только для стран, у которых в таблице countrylanguage указан официальный язык (countrylanguage.IsOfficial = 'T').
  5. Результаты запроса упорядочиваются по названию страны (ORDER BY Name).
  6. Вариант a) отличается от остальных тем, что результаты запроса упорядочиваются по алфавиту названия страны.
  7. Вариант b) отличается от остальных тем, что результаты запроса упорядочиваются по алфавиту языка.
  8. Вариант c) отличается от остальных тем, что результаты запроса упорядочиваются по площади страны.

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


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

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

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