World_Sql 2 tabelid_Blinov

SELECT * FROM Country,City
WHERE Country.Capital=City.ID

SELECT Country.Name,City.Name FROM Country,City
WHERE Country.Capital=City.ID

SELECT C.Name,Ci.Name
FROM Country C,City Ci
WHERE C.Capital=Ci.ID

Внутреннее соеденение

SELECT Country.Name AS Riik,City.Name AS PEalinn
FROM Country INNER JOIN City
ON Country.Capital=City.ID;

SELECT C.Name AS Riik,Ci.Name AS Pealinn
FROM Country INNER JOIN City
ON C.Capital=Ci.ID;

Внешнее соеденение

SELECT C.Name AS Riik, Ci.Name AS Pealinn
FROM Country AS C LEFT JOIN City AS Ci
ON C.Capital = Ci.ID;

SELECT C.Name AS Riik, Ci.Name AS Pealinn
FROM Country AS C RIGHT JOIN City AS Ci
ON C.Capital = Ci.ID;

  1. Покажите названия стран континента Европа, их столицы, количество населения проживающего в столице, отсортированные в порядке убывания населения
    1. учитывая только страны, имеющие столицу (см.ответ)
    2. учитывая все страны (см.ответ)
  2. Покажите страны, в которых название страны и название столицы совпадают (см.ответ)
  3. Найдите города, которые имеют одинаковые названия и находятся в одной стране. (см.ответ)
  4. Покажите, количество языков, на которых говорят в каждой стране (назывние страны, контитент, количество языков). Отсоритуйте результат по этому количеству. (см.ответ)
  5. Покажите, количество официальных языков в каждой стране (назывние страны, контитент, количество официальных языков). Отсоритуйте результат по этому количеству. (см.ответ)
  6. Покажите, на каких языках в каком количестве разговаривает население Азии. (см.ответ)
  7. Найдите для каждой страны какой процент (округлить до одного десятичного знака) от населения страны приходится на население столицы.
    1. учитывая только страны, имеющие столицу (см.ответ)
    2. учитывая все страны (см.ответ)
  8. Найдите общее, ссумарное количество человек, говорящих на каждом из языков, представленных в базе данных (см.ответ)
  9. Найдите общее, ссумарное количество человек для стран Европы, говорящих на каждом из языков, представленных в базе данных. (см.ответ)
  10. Вывести полную информацию обо всех странах, представленных в базе данных – название, континент, год обретения независимости, площадь, население, форма правления, столица, офицальный язык (языки) (см.ответ)

1 ЗАДАНИЕ

1)

SELECT C.Name AS Riik,Ci.Name AS Pealinn,Ci.Population AS Pealinna_elanikkude_arv
FROM Country C,City Ci
WHERE C.Capital=Ci.ID
ORDER BY Pealinna_elanikkude_arv DESC

2)

SELECT C.Name AS Riik, Ci.Name AS Pealinn,Ci.Population AS Pealinna_Elanikude_Arv
FROM Country AS C LEFT JOIN City AS Ci
ON C.Capital = Ci.ID;

2.

SELECT C.Name AS Riik, Ci.Name AS Pealinn
FROM Country C, City Ci
WHERE C.Name=Ci.Name;

3.

SELECT A.Name,A.ID,C.Name,A.CountryCode
FROM City as A, City As B,Country as C
WHERE A.CountryCode = C.Code and B.CountryCode=C.Code and A.Name=B.Name AND A.ID<>B.ID
ORDER BY A.name;

4.

SELECT C.Name AS Riik,C.Continent As Kontinent ,count(L.Language) as Keelte_arv
FROM Country AS C,CountryLanguage AS L
where C.Code=L.CountryCode
group by C.Name,C.Continent
order by count (L.Language) desc

5.

SELECT C.Name AS Riik,C.Continent As Kontinent ,count(L.Language) as Keelte_arv
FROM Country AS C,CountryLanguage AS L
where C.Code=L.CountryCode AND L.IsOfficial=1
group by C.Name,C.Continent
order by count (L.Language) desc

6.

SELECT C.Name AS Riik,Ci.Language as Keel,(Ci.Percentage*C.Population) as Inimeste_Arv
FROM Country AS C INNER JOIN CountryLanguage AS Ci
on Ci.CountryCode=C.code
where C.Continent=’Asia’

7.

1)

SELECT C.Name AS Riik,C.Population AS Riigielanikud,Ci.Name AS Pealinn,Ci.Population as Pealinnaelanikud,
(cast(Ci.Population AS decimal(28,2)) /cast(C.Population AS decimal(28,2)))*100
FROM Country C,City Ci
where C.Capital=Ci.ID

2)

SELECT C.Name AS Riik,C.Population AS Riigielanikud,Ci.Name AS Pealinn,Ci.Population as Pealinnaelanikud,
(cast(Ci.Population AS decimal(28,2)) /cast(C.Population AS decimal(28,2)))*100
FROM Country C LEFT JOIN City Ci
ON C.Capital=Ci.ID

8.

select Ci.Language,sum(Ci.Percentage * C.Population) as ‘Total people speaking languages’
from Country C LEFT JOIN CountryLanguage Ci
on C.Code=Ci.CountryCode
group by Ci.language

order by ‘Total people speaking languages’ desc

9.

select Ci.Language,sum(Ci.Percentage * C.Population) as ‘Total people speaking languages’
from Country AS C LEFT JOIN CountryLanguage AS Ci
on C.Code=Ci.CountryCode
WHERE C.Continent=’Europe’
group by Ci.language
order by ‘Total people speaking languages’ desc

10.

SELECT C.Name AS Riik,C.Continent ,C.IndepYear,C.SurfaceArea AS Area,
C.Population,C.GovernmentForm AS Goverment,Ci.Name AS City,Cl.Language
FROM Country AS C,CountryLanguage AS Cl,City AS Ci
WHERE C.Capital=Ci.ID and C.Code=Cl.CountryCode