Запросы по официальным языкам каждой страны

SQLSQLBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь получать официальные языки каждой страны с использованием запроса equijoin в MySQL. Этот проект поможет вам понять, как работать с реляционными базами данных, выполнять сложные запросы и извлекать конкретную информацию из базы данных.

👀 Предварительный просмотр

+--------------------------------------+------------------+------------+
| Name                                 | Language         | IsOfficial |
+--------------------------------------+------------------+------------+
|阿鲁巴岛                                | Нидерландский     | T          |
| Афганистан                            | Дари              | T          |
| Афганистан                            | Пащто            | T          |
  ...
| Южная Африка                         | Зулу             | T          |
| Зимбабве                             | Английский        | T          |
+--------------------------------------+------------------+------------+
238 строк в наборе (0,002 сек)

🎯 Задачи

В этом проекте вы научитесь:

  • Как обращаться к MySQL с использованием команды sudo без пароля
  • Как импортировать данные в MySQL из SQL-скрипта
  • Как писать запрос equijoin для получения официальных языков каждой страны
  • Как выполнять SQL-скрипт в консоли MySQL

🏆 Достижения

После завершения этого проекта вы сможете:

  • Разобраться в основах реляционных баз данных и SQL-запросов
  • Выполнять сложные запросы, в которых участвуют несколько таблиц и условий
  • Извлекать конкретную информацию из базы данных в соответствии с заданными требованиями
  • Применять свои знания SQL для решения реальных задач по извлечению данных

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"]) sql(("SQL")) -.-> sql/AdvancedDataOperationsGroup(["Advanced Data Operations"]) 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/AdvancedDataOperationsGroup -.-> sql/join("JOIN operations") subgraph Lab Skills mysql/use_database -.-> lab-301400{{"Запросы по официальным языкам каждой страны"}} sql/select -.-> lab-301400{{"Запросы по официальным языкам каждой страны"}} sql/insert -.-> lab-301400{{"Запросы по официальным языкам каждой страны"}} mysql/select -.-> lab-301400{{"Запросы по официальным языкам каждой страны"}} mysql/source -.-> lab-301400{{"Запросы по официальным языкам каждой страны"}} sql/create_table -.-> lab-301400{{"Запросы по официальным языкам каждой страны"}} sql/where -.-> lab-301400{{"Запросы по официальным языкам каждой страны"}} sql/join -.-> lab-301400{{"Запросы по официальным языкам каждой страны"}} end

Доступ к MySQL и импорт данных

В этом шаге вы научитесь обращаться к MySQL с использованием команды sudo без пароля и импортировать данные из /home/labex/project/world.sql в MySQL.

  1. Откройте терминал и выполните следующую команду, чтобы запустить службу MySQL:
sudo service mysql start
  1. Доступ к MySQL с использованием команды sudo без пароля:
sudo mysql
  1. Импортируйте данные из /home/labex/project/world.sql в MySQL и переключитесь на базу данных world:
SOURCE /home/labex/project/world.sql;
USE world;

Получить официальные языки каждой страны

В этом шаге вы научитесь получать полное название каждой страны и ее официальный язык с использованием equijoin между таблицами country и countrylanguage и синтаксиса JOIN ON WHERE.

  1. Откройте файл getOfficialLanguage.sql.
  2. Добавьте следующий SQL-запрос в файл getOfficialLanguage.sql:
SELECT country.Name, countrylanguage.Language, countrylanguage.IsOfficial
FROM country
JOIN countrylanguage ON country.Code = countrylanguage.CountryCode
WHERE countrylanguage.IsOfficial = 'T';

Этот запрос вернет следующие столбцы:

  • Name: Полное название страны
  • Language: Официальный язык страны
  • IsOfficial: Показывает, является ли язык официальным языком страны ('T' - для true, 'F' - для false)

Запрос объединяет таблицы country и countrylanguage по столбцам Code и CountryCode, а затем фильтрует результаты, чтобы включать только официальные языки (где IsOfficial равно 'T').

Запустить запрос

В этом шаге вы запустите SQL-скрипт, который вы создали на предыдущем шаге.

  1. Запустите скрипт getOfficialLanguage.sql:
SOURCE /home/labex/project/getOfficialLanguage.sql;

Это выполнит запрос и покажет результаты в консоли MySQL.

Вы должны увидеть вывод, похожий на следующий:

+--------------------------------------+------------------+------------+
| Name                                 | Language         | IsOfficial |
+--------------------------------------+------------------+------------+
|阿鲁巴岛                                | Нидерландский     | T          |
| Афганистан                            | Дари              | T          |
| Афганистан                            | Пащто            | T          |
| Ангилья                              | Английский        | T          |
| Албания                              | Албанский        | T          |
| Андорра                              | Каталанский       | T          |
| Антильские Нидерланды               | Нидерландский     | T          |
| Антильские Нидерланды               | Папьяменто        | T          |
| Объединенные Арабские Эмираты        | Арабский          | T          |
| Аргентина                            | Испанский         | T          |
| Армения                              | Армянский         | T          |
 ...
| Южная Африка                         | Африкаанс         | T          |
| Южная Африка                         | Английский        | T          |
| Южная Африка                         | Хоса             | T          |
| Южная Африка                         | Зулу             | T          |
| Зимбабве                             | Английский        | T          |
+--------------------------------------+------------------+------------+
238 строк в наборе (0,002 сек)

Это завершает проект. Вы успешно получили официальные языки каждой страны с использованием запроса equijoin в MySQL.

✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.