Ejercicios de Consultas SQL
Ejercicios para la tabla country
- Encuentra todos los países en el continente "Asia".
- Muestra el nombre y la población de los países cuya población sea mayor a 50 millones.
- Lista los países cuyo nombre comience con la letra "A".
- Encuentra los países con una superficie mayor a 1 millón de km² pero menos de 2 millones de km².
- Ordena los países por su esperanza de vida en orden descendente.
- Muestra el nombre y el área de los países con una esperanza de vida desconocida (valor nulo).
- Calcula la población total de todos los países del continente "Europe".
- Àrea del país con mayor àrea de todos.
- Renombra las columnas al mostrar el nombre del país y su PIB.
- Calcula la población promedio de todos los países en "Africa".
Ejercicios para la tabla city
- Encuentra todas las ciudades en el distrito "California".
- Muestra las ciudades con una población menor a 100,000, ordenadas por nombre alfabéticamente.
- Encuentra las ciudades cuyo nombre contenga la palabra "New".
- Calcula el total de población en todas las ciudades del país con código "USA".
- Encuentra las ciudades con una población mayor a 1 millón.
- Muestra el nombre y la población de las ciudades, pero renombra las columnas como "CityName" y "CityPopulation".
- Encuentra las ciudades en el distrito "Texas" con una población entre 50,000 y 200,000.
- Cuenta cuántas ciudades hay en el distrito "New York".
- Encuentra las ciudades con nombre que empiece por "San" y termine con "o".
- Calcula la población promedio de todas las ciudades de "India" (usa el código de país).
Ejercicios con el operador LIKE
- Encuentra todos los países cuyo nombre termine con la letra "a".
- Lista las ciudades cuyo nombre contiene exactamente cinco caracteres.
- Muestra los nombres de las ciudades que contienen la palabra "San" en cualquier parte del nombre.
- Encuentra los países cuyo nombre comience con las letras "Br" y termine con "il".
- Lista las ciudades que tienen un nombre que empieza con "A", seguido de cualquier letra y luego "n".
Ejercicios con el operador IN
- Encuentra todos los países en los continentes "Asia", "Europe" y "Africa".
- Lista las ciudades que están en los distritos "California", "Texas" o "Florida".
Ejercicios con NULL y NOT NULL
- Muestra los nombres y áreas de los países cuya esperanza de vida no está registrada (es
NULL). - Encuentra todas las ciudades con un distrito registrado (que no sea
NULL). - Calcula cuántos países tienen valores nulos en el campo de Producto Nacional Bruto (
GNP).
Soluciones a los ejercicios
Aquí tienes las soluciones en un único bloque de SQL, con comentarios para diferenciar los ejercicios:
Soluciones a los ejercicios de la tabla country
-- 1. Encuentra todos los países en el continente "Asia".
SELECT * FROM country WHERE Continent = 'Asia';
-- 2. Muestra el nombre y la población de los países cuya población sea mayor a 50 millones.
SELECT Name, Population FROM country WHERE Population > 50000000;
-- 3. Lista los países cuyo nombre comience con la letra "A".
SELECT Name FROM country WHERE Name LIKE 'A%';
-- 4. Encuentra los países con una superficie mayor a 1 millón de km² pero menos de 2 millones de km².
SELECT Name, SurfaceArea FROM country WHERE SurfaceArea BETWEEN 1000000 AND 2000000;
-- 5. Ordena los países por su esperanza de vida en orden descendente.
SELECT Name, LifeExpectancy FROM country ORDER BY LifeExpectancy DESC;
-- 6. Muestra el nombre y el área de los países con una esperanza de vida desconocida (valor nulo).
SELECT Name, SurfaceArea FROM country WHERE LifeExpectancy IS NULL;
-- 7. Calcula la población total de todos los países del continente "Europe".
SELECT SUM(Population) AS TotalPopulation FROM country WHERE Continent = 'Europe';
-- 8. Máxisma superficie de los países
SELECT MAX(SurfaceArea) FROM country;
-- 9. Renombra las columnas al mostrar el nombre del país y su PIB.
SELECT Name AS CountryName, GNP AS GrossNationalProduct FROM country;
-- 10. Calcula la población promedio de todos los países en "Africa".
SELECT AVG(Population) AS AvgPopulation FROM country WHERE Continent = 'Africa';
Soluciones a los ejercicios de la tabla city
-- Soluciones para los ejercicios de la tabla `city`
-- 1. Encuentra todas las ciudades en el distrito "California".
SELECT * FROM city WHERE District = 'California';
-- 2. Muestra las ciudades con una población menor a 100,000, ordenadas por nombre alfabéticamente.
SELECT Name, Population FROM city WHERE Population < 100000 ORDER BY Name;
-- 3. Encuentra las ciudades cuyo nombre contenga la palabra "New".
SELECT Name FROM city WHERE Name LIKE '%New%';
-- 4. Calcula el total de población en todas las ciudades del país con código "USA".
SELECT SUM(Population) AS TotalCityPopulation FROM city WHERE CountryCode = 'USA';
-- 5. Encuentra las ciudades con una población mayor a 1 millón.
SELECT Name, Population FROM city WHERE Population > 1000000;
-- 6. Muestra el nombre y la población de las ciudades, pero renombra las columnas como "CityName" y "CityPopulation".
SELECT Name AS CityName, Population AS CityPopulation FROM city;
-- 7. Encuentra las ciudades en el distrito "Texas" con una población entre 50,000 y 200,000.
SELECT Name, Population FROM city WHERE District = 'Texas' AND Population BETWEEN 50000 AND 200000;
-- 8. Cuenta cuántas ciudades hay en el distrito "New York".
SELECT COUNT(*) AS CityCount FROM city WHERE District = 'New York';
-- 9. Encuentra las ciudades con nombre que empiece por "San" y termine con "o".
SELECT Name FROM city WHERE Name LIKE 'San%o';
-- 10. Calcula la población promedio de todas las ciudades de "India" (usa el código de país).
SELECT AVG(Population) AS AvgCityPopulation FROM city WHERE CountryCode = 'IND';
Soluciones con el operador LIKE
-- Soluciones con el operador LIKE
-- 1. Encuentra todos los países cuyo nombre termine con la letra "a".
SELECT Name FROM country WHERE Name LIKE '%a';
-- 2. Lista las ciudades cuyo nombre contiene exactamente cinco caracteres.
SELECT Name FROM city WHERE Name LIKE '_____';
-- 3. Muestra los nombres de las ciudades que contienen la palabra "San" en cualquier parte del nombre.
SELECT Name FROM city WHERE Name LIKE '%San%';
-- 4. Encuentra los países cuyo nombre comience con las letras "Br" y termine con "il".
SELECT Name FROM country WHERE Name LIKE 'Br%il';
-- 5. Lista las ciudades que tienen un nombre que empieza con "A", seguido de cualquier letra y luego "n".
SELECT Name FROM city WHERE Name LIKE 'A_n%';
Soluciones con el operador IN
-- Soluciones con el operador IN
-- 1. Encuentra todos los países en los continentes "Asia", "Europe" y "Africa".
SELECT Name, Continent FROM country WHERE Continent IN ('Asia', 'Europe', 'Africa');
-- 2. Lista las ciudades que están en los distritos "California", "Texas" o "Florida".
SELECT Name, District FROM city WHERE District IN ('California', 'Texas', 'Florida');
Soluciones con NULL y NOT NULL
-- Soluciones con NULL y NOT NULL
-- 1. Muestra los nombres y áreas de los países cuya esperanza de vida no está registrada (es NULL).
SELECT Name, SurfaceArea FROM country WHERE LifeExpectancy IS NULL;
-- 2. Encuentra todas las ciudades con un distrito registrado (que no sea NULL).
SELECT Name, District FROM city WHERE District IS NOT NULL;
-- 3. Calcula cuántos países tienen valores nulos en el campo de Producto Nacional Bruto (GNP).
SELECT COUNT(*) AS CountriesWithNullGNP FROM country WHERE GNP IS NULL;