《数据库系统原理》实验4:表数据的简单查询

一、实验目的

掌握SELECT语句的基本用法。掌握计算列的用法。掌握WHERE子句中各类查询条件的写法。

二、实验内容

1、在连接“MySQL”中新建数据库“world”,并将数据库文件world_inno.sql导入到该数据库之中

2、查询world数据库的country表中的国名(Name)、洲名(Continent)和地区(Region)。

步骤:点击“新建查询”,输入以下代码:

USE world;  
SELECT NAME,Continent,Region From country;  

点击执行,运行结果如下图所示:

3、从world数据库的city表中搜索返回前20条的数据。

步骤:点击“新建查询”,输入以下代码:

Use world;  
SELECT * FROM city LIMIT 0,20;  

其中,“LIMIT M,N”中的M表示从第M条(不包括M)开始

点击执行,结果如下图所示:

4、使用WHERE 子句从world 数据库的country表中检索出所有领土面积超过一百万平方公里的国家名称(Name)、洲名(Continent)以及领土面积(SurfaceArea)。

步骤:点击“新建查询”,输入以下代码:

Use world;  
SELECT NAME,Continent,SurfaceArea  
FROM country  
WHERE SurfaceArea > 1000000  

点击执行,结果如下图所示:

5、查询在world数据库的country表中Name以字母C开头的国家的洲名Continent,地区Region。

步骤:点击“新建查询”,输入以下代码:

Use world;    
SELECT NAME,Continent,Region    
FROM country    
WHERE NAME like 'C%'    

点击执行,运行结果如下图所示:

6、查询world数据库Country表中所有国家的Name和Condinent,并按生日SurfaceArea从小到大进行排列。

步骤:点击“新建查询”,输入以下代码:

Use world;  
SELECT NAME,Continent,SurfaceArea  
FROM country  
ORDER BY SurfaceArea;  

点击执行,运行结果如下图所示:

练习巩固

7、查询country表中政体(GovernmentForm)属于共和国(Republic)的国家的Name和Population、GovernmentForm。

Use world;  
SELECT NAME,Population,GovernmentForm  
FROM country  
WHERE GovernmentForm = 'Republic'  

8、country表中查询前20个非洲国家的名称。

Use world;  
SELECT NAME  
FROM country  
WHERE Continent = 'Africa' limit 20  

9、city表中查询阿富汗(Countrycode为AFG)的所有城市的名称和人口,并要求对查询结果按人口的降序排列。

Use world;  
SELECT Name,Population  
FROM city  
WHERE CountryCode = 'AFG'  
ORDER BY Population DESC

  

10、Country表中查询领土面积介于一百万和五百万平方公里之间的国家的名称和领土面积(领土面积以除以一万的结果显示)。

Use world;  
SELECT NAME,SurfaceArea/10000  
FROM country  
WHERE SurfaceArea BETWEEN 1000000 and 5000000  

11、查询名称以“C”开头的亚洲国家或非洲国家的名称和洲名

Use world;  
SELECT NAME,Continent  
FROM country  
WHERE NAME like 'C%'  
AND (Continent = 'Asia' OR Continent = 'Africa')  

12、country表中查询独立年份为空的国家的名称、国家年份。

Use world;  
SELECT NAME,IndepYear  
FROM country  
WHERE IndepYear is NULL  

三、课后练习题

以下题目在数据库world中完成。

1、 查询country表中所有亚洲国家的名称、地区,要求查询结果按人口的升序排列。

Use world;  
SELECT NAME,Continent  
FROM country  
ORDER BY Population  

2、 查询city表中智利(CHL)或保加利亚(BGR)的城市名称。

Use world;  
SELECT NAME  
FROM city  
WHERE CountryCode = 'CHL' or CountryCode = 'BGR'  

3、 查询country表中Region字段包含“Europe”的国家的全部信息。

Use world;  
SELECT *  
FROM country  
WHERE Region like '%Europe%'  

4、 查询所有君主立宪制(Constitutional Monarchy)国家的名称和人口,按人口降序排列。

Use world;  
SELECT NAME,Population  
FROM country  
WHERE GovernmentForm = 'Constitutional Monarchy'  
ORDER BY Population DESC  

四、出现的问题及解决方案

问题:

ORDER BY关键字降序排序问题

SQL AND & OR 运算符与优先级问题

WHERE语句的特殊条件——例如is null、between and、like模糊查询等问题

解决方案:

参考《数据库系统概论课本》、菜鸟教程(https://www.runoob.com/sql)和CSDN博客

发布了79 篇原创文章 · 获赞 100 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/lee1hong/article/details/105762565