Abfragen des Ländercodesbereichs

SQLSQLBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Projekt lernst du, wie du Länder abrufen kannst, die die gleiche Amtssprache wie das Land mit der Ländercode "FRO" sprechen, indem du eine Mehrzeilen-Subquery-Operation in MySQL verwendest.

👀 Vorschau

MariaDB [world]> SOURCE /home/labex/project/getCountryCode.sql;
+-------------+----------+
| CountryCode | Language |
+-------------+----------+
| DNK         | Dänisch   |
| FRO         | Dänisch   |
| FRO         | Färöisch  |
| GRL         | Dänisch   |
+-------------+----------+
4 Zeilen in Satz (0,002 Sekunden)

🎯 Aufgaben

In diesem Projekt wirst du lernen:

  • Wie du MySQL ohne Passwort mit dem Befehl sudo zugreifst
  • Wie du Daten aus der Datei world.sql in die MySQL-Datenbank importierst
  • Wie du eine SQL-Abfrage mit Mehrzeilen-Subqueries schreibst, um die gewünschten Informationen abzurufen
  • Wie du die SQL-Abfrage in der MySQL-Befehlszeilen-Schnittstelle ausführst

🏆 Errungenschaften

Nach Abschluss dieses Projekts wirst du in der Lage sein:

  • Den Begriff von Mehrzeilen-Subqueries in SQL zu verstehen
  • Spezifische Daten aus einer Datenbank mit komplexen SQL-Abfragen abzurufen
  • Dein SQL-Wissen anzuwenden, um reale Probleme beim Abrufen von Daten zu lösen

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) sql(("SQL")) -.-> sql/BasicSQLCommandsGroup(["Basic SQL Commands"]) sql(("SQL")) -.-> sql/DataManipulationandQueryingGroup(["Data Manipulation and Querying"]) mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) 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{{"Abfragen des Ländercodesbereichs"}} sql/select -.-> lab-301396{{"Abfragen des Ländercodesbereichs"}} sql/insert -.-> lab-301396{{"Abfragen des Ländercodesbereichs"}} mysql/select -.-> lab-301396{{"Abfragen des Ländercodesbereichs"}} mysql/source -.-> lab-301396{{"Abfragen des Ländercodesbereichs"}} sql/create_table -.-> lab-301396{{"Abfragen des Ländercodesbereichs"}} sql/where -.-> lab-301396{{"Abfragen des Ländercodesbereichs"}} sql/subqueries -.-> lab-301396{{"Abfragen des Ländercodesbereichs"}} mysql/database -.-> lab-301396{{"Abfragen des Ländercodesbereichs"}} end

Zugang zu MySQL und Import der Daten

In diesem Schritt lernst du, wie du mit dem Befehl sudo auf MySQL zugreifst und die world.sql-Daten in die world-Datenbank importierst.

  1. Öffne ein Terminal und führe den folgenden Befehl aus, um den MySQL-Dienst zu starten:
sudo service mysql start
  1. Greife über den Befehl sudo auf die MySQL-Befehlszeilen-Schnittstelle zu:
sudo mysql
  1. Importiere die world.sql-Daten in die MySQL-Datenbank:
MariaDB [None]> SOURCE /home/labex/project/world.sql;

Dadurch werden die Daten aus der Datei world.sql in die MySQL-Datenbank importiert.

Jetzt hast du erfolgreich auf MySQL zugegriffen und die erforderlichen Daten importiert. Lass uns zum nächsten Schritt übergehen.

Länder mit der gleichen Amtssprache wie FRO abrufen

In diesem Schritt schreibst du eine SQL-Abfrage, um alle Länder abzurufen, die die gleiche Amtssprache wie das Land mit dem Ländercode FRO sprechen.

  1. Öffne die Datei getCountryCode.sql und füge die folgende SQL-Abfrage hinzu:
SELECT cl1.CountryCode, cl1.Language
FROM countrylanguage AS cl1
WHERE cl1.Language IN (
    -- Subquery, um die Sprache des Landes mit CountryCode 'FRO' und IsOfficial = 'T' abzurufen
    SELECT cl2.Language
    FROM countrylanguage AS cl2
    WHERE cl2.CountryCode = 'FRO' AND cl2.IsOfficial = 'T'
)
AND cl1.CountryCode IN (
    -- Subquery, um den CountryCode der Länder abzurufen, die die gleiche Sprache wie das in FRO haben und IsOfficial = 'T'
    SELECT cl3.CountryCode
    FROM countrylanguage AS cl3
    WHERE cl3.Language IN (
        -- Subquery, um die Sprache des Landes mit CountryCode 'FRO' und IsOfficial = 'T' abzurufen
        SELECT cl4.Language
        FROM countrylanguage AS cl4
        WHERE cl4.CountryCode = 'FRO' AND cl4.IsOfficial = 'T'
    )
    AND cl3.IsOfficial = 'T'
);

Diese Abfrage verwendet eine Mehrzeilen-Subquery, um die Länder abzurufen, die die gleiche Amtssprache wie das Land mit dem Ländercode FRO sprechen.

  1. Speichere die Datei getCountryCode.sql.

Jetzt hast du die SQL-Abfrage erstellt, um die gewünschten Informationen abzurufen. Im nächsten Schritt wirst du die Abfrage in MySQL ausführen.

Führe die SQL-Abfrage aus

In diesem Schritt führst du die in der Datei getCountryCode.sql gespeicherte SQL-Abfrage aus.

  1. Führe die in der Datei getCountryCode.sql gespeicherte SQL-Abfrage aus:
MariaDB [world]> SOURCE /home/labex/project/getCountryCode.sql;

Dadurch wird die SQL-Abfrage ausgeführt und die Ergebnisse im Terminal angezeigt.

Die Ausgabe sollte ähnlich dem folgenden aussehen:

+-------------+----------+
| CountryCode | Language |
+-------------+----------+
| DNK         | Dänisch   |
| FRO         | Dänisch   |
| FRO         | Färöisch  |
| GRL         | Dänisch   |
+-------------+----------+
4 Zeilen in Satz (0,002 Sekunden)

Die Abfrage hat erfolgreich die Länder abgerufen, die die gleiche Amtssprache wie das Land mit dem Ländercode FRO sprechen.

Herzlichen Glückwunsch! Du hast das Projekt abgeschlossen, bei dem du den Bereich von Ländercodes mithilfe einer Mehrzeilen-Subquery-Operation abgefragt hast.

✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Labs absolvieren, um deine Fähigkeiten zu verbessern.