介绍
在本项目中,你将学习如何使用 MySQL 数据库中country表上的单行子查询操作,查询国民生产总值(GNP)高于法国的国家的 GNP 和人口。
👀 预览
MariaDB [world]> SOURCE /home/labex/project/getGNP.sql;
+---------------+------------+------------+
| Name | GNP | Population |
+---------------+------------+------------+
| 德国 | 2133367.00 | 82164700 |
| 日本 | 3787042.00 | 126714000 |
| 美国 | 8510700.00 | 278357000 |
+---------------+------------+------------+
3 rows in set (0.001 sec)
🎯 任务
在本项目中,你将学习:
- 如何使用
sudo命令无密码访问 MySQL - 如何将 SQL 文件中的数据导入 MySQL 数据库
- 如何编写 SQL 查询,以检索 GNP 高于法国的国家的名称、GNP 和人口
🏆 成果
完成本项目后,你将能够:
- 理解如何在 SQL 中使用单行子查询根据条件过滤数据
- 展示将数据导入 MySQL 数据库并执行复杂查询的能力
- 应用你的 SQL 知识解决实际数据分析问题
访问 MySQL 并导入数据
在本步骤中,你将学习如何使用sudo命令无密码访问 MySQL,并将/home/labex/project/world.sql中的数据导入 MySQL。
- 启动 MySQL 数据库服务:
sudo service mysql start
- 使用
sudo命令访问 MySQL:
sudo mysql
- 将
/home/labex/project/world.sql中的数据导入 MySQL 并切换到world数据库:
MariaDB [None]> SOURCE /home/labex/project/world.sql;
MariaDB [world]>
查询国民生产总值高于法国的国家的 GNP 和人口
在本步骤中,你将学习如何编写 SQL 查询,以检索国民生产总值高于法国的国家的名称、GNP 和人口。
- 打开
getGNP.sql文件 - 在
getGNP.sql文件中,添加以下 SQL 查询:
SELECT Name, GNP, Population
FROM country
WHERE GNP > (SELECT GNP FROM country WHERE Name = 'France');
此查询首先使用子查询检索法国的 GNP,然后选择 GNP 高于法国 GNP 的国家的名称、GNP 和人口。
运行 SQL 脚本
在本步骤中,你将学习如何在 MySQL 中运行 SQL 脚本。
- 在 MySQL 提示符下,运行 SQL 脚本:
MariaDB [world]> SOURCE /home/labex/project/getGNP.sql;
这将执行getGNP.sql文件中的 SQL 查询,并在 MySQL 提示符中显示结果。
输出应类似于以下内容:
+---------------+------------+------------+
| Name | GNP | Population |
+---------------+------------+------------+
| 德国 | 2133367.00 | 82164700 |
| 日本 | 3787042.00 | 126714000 |
| 美国 | 8510700.00 | 278357000 |
+---------------+------------+------------+
3 rows in set (0.001 sec)
恭喜!你已成功完成该项目。
总结
恭喜!你已完成本项目。你可以在 LabEx 中练习更多实验以提升你的技能。
