Составление запросов - MySQL
Формулировка задачи:
Помогите нубу сформулировать запросы.
Проходная тема. Мозг кипит =\
База данных world.sql с сайта MySql
country
city
countrylanguage
1) максимальным населением:
2) минимальным населением:
3) максимальной площадью:
4) минимальной площадью:
5) площадью большей средней по континенту
<-это примерно
6 максимальным числом жителей на квадратный километр
7 минимальным числом жителей на квадратный километр
8 Выберите для каждой из стран название, площадь и государственный язык. Проведите сортировку по каждому из полей в отдельности.
9 Составьте запрос, определяющий сколько городов содержится в каждой стране.
10 Найдите города, которые не являются столицами.
11 Найдите города, которые не являются столицами стран Азии.
12 Найдите города, которые не являются столицами стран Азии, таких где есть более одного языка.
select * from country where Population = (SELECT max(Population) FROM country);
select * from country where Population = (SELECT min(Population) FROM country);
select * from country where SurfaceArea = (SELECT max(SurfaceArea) FROM country);
select * from country where SurfaceArea = (SELECT min(SurfaceArea) FROM country);
SELECT continent, sum(surfacearea)/count(*) FROM country group by continent;
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;
Объяснение кода листинга программы
- В данном коде написан SQL-запрос для получения информации о странах и их официальных языках.
- Запрос выбирает следующие поля: название страны (country.Name), площадь страны (country.SurfaceArea), и официальный язык (countrylanguage.Language).
- Запрос связывает две таблицы:
country
иcountrylanguage
по полю Code. - Дополнительное условие WHERE требует, чтобы связывание происходило только для стран, у которых в таблице
countrylanguage
указан официальный язык (countrylanguage.IsOfficial = 'T'). - Результаты запроса упорядочиваются по названию страны (ORDER BY Name).
- Вариант a) отличается от остальных тем, что результаты запроса упорядочиваются по алфавиту названия страны.
- Вариант b) отличается от остальных тем, что результаты запроса упорядочиваются по алфавиту языка.
- Вариант c) отличается от остальных тем, что результаты запроса упорядочиваются по площади страны.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д