Введение
В этом проекте вы научитесь получать страны, которые говорят на том же официальном языке, что и страна с кодом страны "FRO", с использованием операции многострочного подзапроса в MySQL.
👀 Предварительный просмотр
MariaDB [world]> SOURCE /home/labex/project/getCountryCode.sql;
+-------------+----------+
| CountryCode | Language |
+-------------+----------+
| DNK | Датский |
| FRO | Датский |
| FRO | Фарерский |
| GRL | Датский |
+-------------+----------+
4 rows in set (0.002 sec)
🎯 Задачи
В этом проекте вы научитесь:
- Как обращаться к MySQL с использованием команды
sudoбез пароля - Как импортировать данные из файла
world.sqlв базу данных MySQL - Как писать SQL-запрос с использованием многострочных подзапросов для получения нужной информации
- Как запускать SQL-запрос в командной строке интерфейсе MySQL
🏆 Достижения
После завершения этого проекта вы сможете:
- Разобраться в концепции многострочных подзапросов в SQL
- Получать конкретные данные из базы данных с использованием сложных SQL-запросов
- Применять свои знания SQL для решения реальных задач по извлечению данных
Доступ к MySQL и импорт данных
В этом шаге вы научитесь обращаться к MySQL с использованием команды sudo и импортировать данные из world.sql в базу данных world.
- Откройте терминал и выполните следующую команду, чтобы запустить службу MySQL:
sudo service mysql start
- Доступ к командной строке интерфейсу MySQL с использованием команды
sudo:
sudo mysql
- Импортируйте данные из
world.sqlв базу данных MySQL:
MariaDB [None]> SOURCE /home/labex/project/world.sql;
Это импортирует данные из файла world.sql в базу данных MySQL.
Теперь вы успешно подключились к MySQL и импортировали необходимые данные. Перейдем к следующему шагу.
Извлечь страны, имеющие тот же официальный язык, что и FRO
В этом шаге вы напишете SQL-запрос, чтобы получить все страны, которые говорят на том же официальном языке, что и страна с кодом страны FRO.
- Откройте файл
getCountryCode.sqlи добавьте следующий SQL-запрос:
SELECT cl1.CountryCode, cl1.Language
FROM countrylanguage AS cl1
WHERE cl1.Language IN (
-- Подзапрос для получения языка страны с CountryCode 'FRO' и IsOfficial = 'T'
SELECT cl2.Language
FROM countrylanguage AS cl2
WHERE cl2.CountryCode = 'FRO' AND cl2.IsOfficial = 'T'
)
AND cl1.CountryCode IN (
-- Подзапрос для получения CountryCode стран, которые имеют такой же язык, как в FRO и IsOfficial = 'T'
SELECT cl3.CountryCode
FROM countrylanguage AS cl3
WHERE cl3.Language IN (
-- Подзапрос для получения языка страны с CountryCode 'FRO' и IsOfficial = 'T'
SELECT cl4.Language
FROM countrylanguage AS cl4
WHERE cl4.CountryCode = 'FRO' AND cl4.IsOfficial = 'T'
)
AND cl3.IsOfficial = 'T'
);
Этот запрос использует многострочный подзапрос, чтобы получить страны, которые говорят на том же официальном языке, что и страна с кодом страны FRO.
- Сохраните файл
getCountryCode.sql.
Теперь вы создали SQL-запрос для получения нужной информации. В следующем шаге вы запустите запрос в MySQL.
Запустить SQL-запрос
В этом шаге вы запустите SQL-запрос, хранящийся в файле getCountryCode.sql.
- Запустите SQL-запрос, хранящийся в файле
getCountryCode.sql:
MariaDB [world]> SOURCE /home/labex/project/getCountryCode.sql;
Это выполнит SQL-запрос и выведет результаты в терминал.
Вывод должен выглядеть примерно так:
+-------------+----------+
| CountryCode | Language |
+-------------+----------+
| DNK | Датский |
| FRO | Датский |
| FRO | Фарерский |
| GRL | Датский |
+-------------+----------+
4 rows in set (0.002 sec)
Запрос успешно извлек countries, которые говорят на том же официальном языке, что и страна с кодом страны FRO.
Поздравляем! Вы завершили проект по запросу диапазона кодов стран с использованием операции многострочного подзапроса.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.
