Ejercicios de Consultas SQL

Ejercicios para la tabla country

  1. Encuentra todos los países en el continente "Asia".
  2. Muestra el nombre y la población de los países cuya población sea mayor a 50 millones.
  3. Lista los países cuyo nombre comience con la letra "A".
  4. Encuentra los países con una superficie mayor a 1 millón de km² pero menos de 2 millones de km².
  5. Ordena los países por su esperanza de vida en orden descendente.
  6. Muestra el nombre y el área de los países con una esperanza de vida desconocida (valor nulo).
  7. Calcula la población total de todos los países del continente "Europe".
  8. Àrea del país con mayor àrea de todos.
  9. Renombra las columnas al mostrar el nombre del país y su PIB.
  10. Calcula la población promedio de todos los países en "Africa".

Ejercicios para la tabla city

  1. Encuentra todas las ciudades en el distrito "California".
  2. Muestra las ciudades con una población menor a 100,000, ordenadas por nombre alfabéticamente.
  3. Encuentra las ciudades cuyo nombre contenga la palabra "New".
  4. Calcula el total de población en todas las ciudades del país con código "USA".
  5. Encuentra las ciudades con una población mayor a 1 millón.
  6. Muestra el nombre y la población de las ciudades, pero renombra las columnas como "CityName" y "CityPopulation".
  7. Encuentra las ciudades en el distrito "Texas" con una población entre 50,000 y 200,000.
  8. Cuenta cuántas ciudades hay en el distrito "New York".
  9. Encuentra las ciudades con nombre que empiece por "San" y termine con "o".
  10. Calcula la población promedio de todas las ciudades de "India" (usa el código de país).

Ejercicios con el operador LIKE

  1. Encuentra todos los países cuyo nombre termine con la letra "a".
  2. Lista las ciudades cuyo nombre contiene exactamente cinco caracteres.
  3. Muestra los nombres de las ciudades que contienen la palabra "San" en cualquier parte del nombre.
  4. Encuentra los países cuyo nombre comience con las letras "Br" y termine con "il".
  5. Lista las ciudades que tienen un nombre que empieza con "A", seguido de cualquier letra y luego "n".

Ejercicios con el operador IN

  1. Encuentra todos los países en los continentes "Asia", "Europe" y "Africa".
  2. Lista las ciudades que están en los distritos "California", "Texas" o "Florida".

Ejercicios con NULL y NOT NULL

  1. Muestra los nombres y áreas de los países cuya esperanza de vida no está registrada (es NULL).
  2. Encuentra todas las ciudades con un distrito registrado (que no sea NULL).
  3. 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;