Práctica 1 MySQL (Consultas sobre una tabla)

Haremos esta práctica entera con la base de datos de ejemplo. El modelo relacional de la base de datos world lo podemos ver en la siguiente figura.

La clave que predomina en todas las relaciones es CountryCode, que es un VarChar de tamaño 3. Si nos fijamos cada ciudad (City), tiene un código de País y cada lenguaje (CountryLenguage) tiene también un código de País.

Consultas sobre la tabla City

  • Ver estructura de la tabla: Describe City;
  • Ver todas las tuplas de la tabla: Select * from City;
  • Ver todos los nombres y distritos de las ciudades. Select name,district from City;
  • Ver todas las ciudades que que tienen el código ESP: Select name from City Where CountryCode=’ESP';
  • Ver todas las ciudades y sus códigos de pais, ordenados por código de país: Select CountryCode, Name from City order by CountryCode;
  • Ver cuantas ciudades tiene cada país: Select CountryCode, count(name) Group By CountryCode;
  • Sacar la población menor: Select min (population) from City
  • ¿Cómo será la mayor?
  • Sacar el nombre de la ciudad con más habitantes
  • Podemos hacer de dos maneras
    • Usando una variable: Select @mayor:=max(population) from City;
      • select name from City where population=@mayor
    • Usando una subconsulta: Select name from City where populuation = (Select max(population) from City);
  • Averigua la suma de todas los habitantes: Select sum(population) from City;
  • Saca la suma de habitantes agrupadas por países Select CountryCode, sum(population) from City Group By CountryCode;
  • Saca los distintos códigos de país:Select distinct(CountryCode) from City;
  • Cuenta los distintos códigos de país: Select count(distinct(CountryCode)) from City;
  • Saca las ciudades del país usa, que su población sea mayor de 10000: Select name, population from City where countrycode=’USA’ and population>10000;
  • Ahora tú
    • Cuenta todos los códigos de países.
    • Suma todas las poblaciones distintas.
    • Saca el nombre de la ciudad con menos habitantes
    • Saca la media de habitantes
    • Saca la ciudad que tenga exactamente la media de habitantes
    • Saca todas las provincias (Distritos) de España
    • Saca sólo las provincias distitnas de España.
    • Saca el número de ciudades por provincia
    • Saca todas las ciudades de Extremadura.
    • Saca la cuenta de las ciudades agrupadas por provincias y por países.
    • Saca la suma de la población de todos los distritos de España
    • Cual es el distrito español con más habitantes.

Consultas sobre la tabla Country

  • ¿Cual es la esperanza de vida máxima?
  • Saca la lista de las capitales de todos los paises
  • Saca la lista de las capitales europeas
  • Saca las lista de las capitales africanas y norteamericanas
  • Halla la población media
  • Saca los países con mayor y menor esperanza de vida
  • Saca una lista de continentes ordenadas por la esperanza de vida media de forma descendente.
  • Cual es la mayor esperanza de vida (Dos formas de hacerlo, con una variable y de una forma nueva, usar una select como tabla)
  • Sacar el país con mayor extensión de terreno
  • Cuantas regiones distintas tenemos
  • Saca el nombre local de todos los países
  • Saca el nombre local de todos los países Europeos y asiáticos
  • Saca las distintas formas de gobierno.
  • ¿Que forma de gobierno tienen, España, Francia, China? Saca los países ordenados por forma de gobierno.
  • Saca todos los países islámicos.
  • Saca el país que antes se independizó.
  • Cual es el país con menor extensión.
  • Cual es el país con mayor población.

3 Responses to “ Práctica 1 MySQL (Consultas sobre una tabla) ”

  1. Alberto dice:

    Solución en tres pasos a la pregunta: Cual es el distrito español con más habitantes.

    -select max(poblacion) from (select sum(Population) as poblacion,district from City where CountryCode=’ESP’ group by district)tabla;

    -select @esto:=max(poblacion) from (select sum(Population) as poblacion,district from City where CountryCode=’ESP’ group by district)tabla;

    -select max(poblacion),district from (select sum(Population) as poblacion,district from City where CountryCode=’ESP’ group by district)tabla where poblacion=@esto;

  2. JUAN ANTONIO dice:

    Solución en dos pasos a la pregunta: Cual es el distrito español con más habitantes.

    select @m:=max(poblacion) as maximo from(select district as provincia, sum(population)as poblacion from city where countrycode=’ESP’ group by district)aux;

    select provincia from(select district as provincia, sum(population) as poblacion from city where countrycode=’ESP’ group by district)aux where poblacion=@m;

  3. […] hacer este ejercicio práctico vamos a usar la base de datos world. Para ello tendremos que pasar cada una de las tablas a un fichero y que nos quede como este. […]

Deja un comentario

Disculpa, debes iniciar sesión para escribir un comentario.