Consulta de rango de códigos de país

SQLSQLBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este proyecto, aprenderá a recuperar los países que hablan el mismo idioma oficial que el país con el código de país "FRO" mediante una operación de subconsulta de múltiples filas en MySQL.

👀 Vista previa

MariaDB [world]> SOURCE /home/labex/project/getCountryCode.sql;
+-------------+----------+
| CountryCode | Language |
+-------------+----------+
| DNK         | Danés    |
| FRO         | Danés    |
| FRO         | Feroense |
| GRL         | Danés    |
+-------------+----------+
4 filas en set (0.002 sec)

🎯 Tareas

En este proyecto, aprenderá:

  • Cómo acceder a MySQL utilizando el comando sudo sin contraseña
  • Cómo importar datos del archivo world.sql a la base de datos MySQL
  • Cómo escribir una consulta SQL utilizando subconsultas de múltiples filas para recuperar la información deseada
  • Cómo ejecutar la consulta SQL en la interfaz de línea de comandos de MySQL

🏆 Logros

Después de completar este proyecto, podrá:

  • Comprender el concepto de subconsultas de múltiples filas en SQL
  • Recuperar datos específicos de una base de datos utilizando consultas SQL complejas
  • Aplicar sus conocimientos de SQL para resolver problemas de recuperación de datos del mundo real

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) sql(("SQL")) -.-> sql/BasicSQLCommandsGroup(["Basic SQL Commands"]) sql(("SQL")) -.-> sql/DataManipulationandQueryingGroup(["Data Manipulation and Querying"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") sql/BasicSQLCommandsGroup -.-> sql/select("SELECT statements") sql/BasicSQLCommandsGroup -.-> sql/insert("INSERT INTO statements") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") sql/BasicSQLCommandsGroup -.-> sql/create_table("CREATE TABLE statements") sql/DataManipulationandQueryingGroup -.-> sql/where("WHERE clause") sql/DataManipulationandQueryingGroup -.-> sql/subqueries("Subqueries") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/database("DB Function - Info Retrieval") subgraph Lab Skills mysql/use_database -.-> lab-301396{{"Consulta de rango de códigos de país"}} sql/select -.-> lab-301396{{"Consulta de rango de códigos de país"}} sql/insert -.-> lab-301396{{"Consulta de rango de códigos de país"}} mysql/select -.-> lab-301396{{"Consulta de rango de códigos de país"}} mysql/source -.-> lab-301396{{"Consulta de rango de códigos de país"}} sql/create_table -.-> lab-301396{{"Consulta de rango de códigos de país"}} sql/where -.-> lab-301396{{"Consulta de rango de códigos de país"}} sql/subqueries -.-> lab-301396{{"Consulta de rango de códigos de país"}} mysql/database -.-> lab-301396{{"Consulta de rango de códigos de país"}} end

Acceder a MySQL e Importar los Datos

En este paso, aprenderá a acceder a MySQL utilizando el comando sudo e importar los datos de world.sql a la base de datos world.

  1. Abra una terminal y ejecute el siguiente comando para iniciar el servicio MySQL:
sudo service mysql start
  1. Acceda a la interfaz de línea de comandos de MySQL utilizando el comando sudo:
sudo mysql
  1. Importe los datos de world.sql a la base de datos MySQL:
MariaDB [None]> SOURCE /home/labex/project/world.sql;

Esto importará los datos del archivo world.sql a la base de datos MySQL.

Ahora ha accedido a MySQL con éxito e importado los datos necesarios. Pasemos al siguiente paso.

Recuperar Países con el Mismo Idioma Oficial que FRO

En este paso, escribirá una consulta SQL para recuperar todos los países que hablan el mismo idioma oficial que el país con el código de país FRO.

  1. Abra el archivo getCountryCode.sql y agregue la siguiente consulta SQL:
SELECT cl1.CountryCode, cl1.Language
FROM countrylanguage AS cl1
WHERE cl1.Language IN (
    -- Subconsulta para recuperar el idioma del país con CountryCode 'FRO' y IsOfficial = 'T'
    SELECT cl2.Language
    FROM countrylanguage AS cl2
    WHERE cl2.CountryCode = 'FRO' AND cl2.IsOfficial = 'T'
)
AND cl1.CountryCode IN (
    -- Subconsulta para recuperar el CountryCode de los países que tienen el mismo idioma que el de FRO y IsOfficial = 'T'
    SELECT cl3.CountryCode
    FROM countrylanguage AS cl3
    WHERE cl3.Language IN (
        -- Subconsulta para recuperar el idioma del país con CountryCode 'FRO' y IsOfficial = 'T'
        SELECT cl4.Language
        FROM countrylanguage AS cl4
        WHERE cl4.CountryCode = 'FRO' AND cl4.IsOfficial = 'T'
    )
    AND cl3.IsOfficial = 'T'
);

Esta consulta utiliza una subconsulta de múltiples filas para recuperar los países que hablan el mismo idioma oficial que el país con el código de país FRO.

  1. Guarde el archivo getCountryCode.sql.

Ahora ha creado la consulta SQL para recuperar la información deseada. En el siguiente paso, ejecutará la consulta en MySQL.

Ejecutar la Consulta SQL

En este paso, ejecutará la consulta SQL almacenada en el archivo getCountryCode.sql.

  1. Ejecute la consulta SQL almacenada en el archivo getCountryCode.sql:
MariaDB [world]> SOURCE /home/labex/project/getCountryCode.sql;

Esto ejecutará la consulta SQL y mostrará los resultados en la terminal.

La salida debería verse similar a la siguiente:

+-------------+----------+
| CountryCode | Language |
+-------------+----------+
| DNK         | Danés    |
| FRO         | Danés    |
| FRO         | Feroense |
| GRL         | Danés    |
+-------------+----------+
4 filas en set (0.002 sec)

La consulta ha recuperado con éxito los países que hablan el mismo idioma oficial que el país con el código de país FRO.

¡Felicitaciones! Ha completado el proyecto de consultar el rango de códigos de país utilizando una operación de subconsulta de múltiples filas.

✨ Revisar Solución y Practicar

Resumen

¡Felicitaciones! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.