Brak tytułu

Data utworzenia: 2025-01-16 12:10:32
Dobrze, przygotuję zapytania SQL w MySQL na podstawie pytań z obrazka. Założę przykładową strukturę bazy danych z trzema tabelami: 1. countries (kraje): • id (INT, PRIMARY KEY) • name (VARCHAR) • population (BIGINT) • area (FLOAT) – powierzchnia kraju w km² • independence_year (YEAR) – rok uzyskania niepodległości • eu_member (BOOLEAN) – czy kraj należy do UE 2. cities (miasta): • id (INT, PRIMARY KEY) • name (VARCHAR) • country_id (INT, FOREIGN KEY do countries.id) • population (BIGINT) • is_capital (BOOLEAN) 3. languages (języki): • id (INT, PRIMARY KEY) • country_id (INT, FOREIGN KEY do countries.id) • language (VARCHAR) • official (BOOLEAN) – czy język jest oficjalny Przykładowe zapytania SQL: 1. Jakie są wszystkie kraje w bazie danych? SELECT name FROM countries; 2. Jakie są stolice krajów w bazie danych? SELECT c.name AS country, ci.name AS capital FROM countries c JOIN cities ci ON c.id = ci.country_id WHERE ci.is_capital = 1; 3. Ile krajów jest w bazie danych? SELECT COUNT(*) AS number_of_countries FROM countries; 4. Jakie są populacje poszczególnych krajów? SELECT name, population FROM countries; 5. Kiedy dany kraj uzyskał niepodległość? SELECT name, independence_year FROM countries WHERE independence_year IS NOT NULL; 6. Jaka jest powierzchnia największych krajów w bazie danych? SELECT name, area FROM countries ORDER BY area DESC LIMIT 5; 7. Jakie miasta znajdują się w danym kraju? SELECT c.name AS country, ci.name AS city FROM countries c JOIN cities ci ON c.id = ci.country_id; 8. Jaka jest populacja największych miast w bazie danych? SELECT name, population FROM cities ORDER BY population DESC LIMIT 5; 9. Które miasto ma największą populację w bazie danych? SELECT name, population FROM cities ORDER BY population DESC LIMIT 1; 10. Jakie języki są używane w danym kraju? SELECT c.name AS country, l.language FROM countries c JOIN languages l ON c.id = l.country_id; 11. Które kraje mają najwięcej oficjalnych języków? SELECT c.name, COUNT(*) AS number_of_languages FROM countries c JOIN languages l ON c.id = l.country_id WHERE l.official = 1 GROUP BY c.name ORDER BY number_of_languages DESC; 12. Jakie są średnie wynagrodzenia w różnych krajach? (Zakładając, że jest tabela np. average_salaries z country_id i average_salary): SELECT c.name AS country, s.average_salary FROM countries c JOIN average_salaries s ON c.id = s.country_id; 13. Jaka jest lista krajów, które należą do Unii Europejskiej? SELECT name FROM countries WHERE eu_member = 1; 14. Ile miast w bazie danych ma populację większą niż milion? SELECT COUNT(*) AS cities_over_million FROM cities WHERE population > 1000000; 15. Które miasto w danym kraju jest najwięcej zaludnione? SELECT ci.name, ci.population FROM cities ci JOIN countries c ON ci.country_id = c.id WHERE c.name = 'NazwaKraju' ORDER BY ci.population DESC LIMIT 1; 16. Jakie są największe miasta w Azji pod względem populacji? (Zakładając, że tabela countries ma kolumnę continent): SELECT ci.name, ci.population FROM cities ci JOIN countries c ON ci.country_id = c.id WHERE c.continent = 'Asia' ORDER BY ci.population DESC LIMIT 5; 17. Które kraje mają największy procent ludności mówiącej w jednym języku? SELECT c.name, l.language, (COUNT(l.language) / c.population) * 100 AS percentage FROM countries c JOIN languages l ON c.id = l.country_id WHERE l.official = 1 GROUP BY c.name, l.language ORDER BY percentage DESC; 18. Jakie są wyniki dotyczące gospodarki (np. PKB)? (Zakładając, że jest tabela economy z country_id i gdp): SELECT c.name AS country, e.gdp FROM countries c JOIN economy e ON c.id = e.country_id; 19. Jakie są największe wyspy lub archipelagi według powierzchni? (Zakładając tabelę islands z name i area): SELECT name, area FROM islands ORDER BY area DESC LIMIT 5; 20. Które miasta są stolicami krajów, które mają w nazwie literę “A”? SELECT ci.name AS capital FROM cities ci JOIN countries c ON ci.country_id = c.id WHERE ci.is_capital = 1 AND c.name LIKE '%A%'; Jeśli chcesz, mogę przygotować skrypt SQL do stworzenia tabel i wypełnienia ich przykładowymi danymi. Daj znać!
Powrót