Skip to content

Instantly share code, notes, and snippets.

@younes8888
Last active June 13, 2024 13:11
Show Gist options
  • Save younes8888/5762a2a1f2d1f3b7b02f45739fb1317a to your computer and use it in GitHub Desktop.
Save younes8888/5762a2a1f2d1f3b7b02f45739fb1317a to your computer and use it in GitHub Desktop.
databases-week1-exercises.sql
-- 1. What are the names of countries with population greater than 8 million?
SELECT name, population
FROM country
WHERE population>8000000;
-- 2. What are the names of countries that have “land” in their names?
SELECT name
FROM country
WHERE name LIKE '%land%';
-- 3. What are the names of the cities with population in between 500,000 and 1 million?
select name, population
from city
where population>= 500000
and population <=1000000;
-- 4. What's the name of all the countries on the continent ‘Europe’?
SELECT name, continent
FROM country
WHERE continent ='Europe';
-- 5. What are the names of all the cities in the Netherlands?
SELECT name, countrycode
FROM city
WHERE countrycode='NLD';
-- 6. What is the population of Rotterdam?
SELECT name, population
FROM city
WHERE name='Rotterdam';
-- 7. Which countries don't have a head of state? Hint: looks for NULL and '' values?
SELECT name, headofstate
FROM country
WHERE headofstate IS NULL
OR headofstate='';
-- 8. What's the top 10 least populated cities? Return the name and population?
SELECT name, population
FROM country
ORDER BY population ASC
LIMIT 10;
-- 9. What countries in Africa have the local name the same as their common name?
SELECT name, localname
FROM country
WHERE LocalName = name;
-- 10. What countries have Spanish as official language? Hint: see countrylanguage table.
SELECT country.name, countrylanguage.language, countrylanguage.isofficial
FROM countrylanguage
JOIN country ON country.code= countrylanguage.countrycode
WHERE isofficial ='T'
AND language = 'spanish';
-- 11. What countries have official languages spoken between 1% and 10% of the population?
SELECT country.name, countrylanguage.language,countrylanguage.isofficial, countrylanguage.percentage
FROM countrylanguage
JOIN country ON country.code = countrylanguage.countrycode
WHERE isofficial = "T"
AND percentage<=10
AND percentage>= 1;
-- 12. What languages are spoken by over 90% of the population of a country? Return just the language names, but don't repeat entries.
SELECT DISTINCT language, percentage
FROM countrylanguage
WHERE percentage>= 90;
-- 13. In which countries is 'Creole English' used? Order by descending percentage of speakers
SELECT country.name, countrylanguage.language, countrylanguage.percentage
FROM countrylanguage
JOIN country ON country.code = countrylanguage.countrycode
WHERE language="Creole English"
ORDER BY percentage DESC;
-- 14. What are the 5 oldest countries (by independence date) with some form of republic government? Tip: there are multiple types of republic
SELECT name, indepyear, governmentform
FROM country
WHERE governmentform LIKE '%republic%'
ORDER BY indepyear ASC
LIMIT 5;
-- 15. For each country, how many people speak each language? Important: we want absolute values, not a percentage. Return the name of the country, the name of the language, and number of speakers of that language
-- Hint: you need both the country and countrylanguage tables
-- Hint: you can do calculations between columns, for example (SELECT a - b from table;)
SELECT country.name, countrylanguage.language, country.population * countrylanguage.percentage/100 AS "Abso_Num_Of_Speaker"
FROM countrylanguage
JOIN country ON countrylanguage.countrycode = country.code;
-- Bonus
-- 1. What is the total population of the world?
SELECT SUM(population) FROM country;
-- 2. What is the average population of countries in Europe?
SELECT continent, AVG(population) FROM country WHERE continent = 'Europe';
-- 3. How many official languages are spoken in Belgium (BEL)? Return the country code, and the number of languages as "Number of Languages"
SELECT countrycode, IsOfficial, COUNT(language) AS 'Number of Languages'
FROM countrylanguage
WHERE countrycode = 'BEL'
AND isofficial = 'T';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment