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

一、实验目的

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

二、实验内容

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

《数据库系统原理》实验4:表数据的简单查询_第1张图片《数据库系统原理》实验4:表数据的简单查询_第2张图片

《数据库系统原理》实验4:表数据的简单查询_第3张图片

《数据库系统原理》实验4:表数据的简单查询_第4张图片

《数据库系统原理》实验4:表数据的简单查询_第5张图片

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

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

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

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

《数据库系统原理》实验4:表数据的简单查询_第6张图片

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

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

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

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

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

《数据库系统原理》实验4:表数据的简单查询_第7张图片

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

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

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

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

《数据库系统原理》实验4:表数据的简单查询_第8张图片

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

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

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

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

《数据库系统原理》实验4:表数据的简单查询_第9张图片

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

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

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

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

《数据库系统原理》实验4:表数据的简单查询_第10张图片

练习巩固

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

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

《数据库系统原理》实验4:表数据的简单查询_第11张图片

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

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

《数据库系统原理》实验4:表数据的简单查询_第12张图片

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

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

  

《数据库系统原理》实验4:表数据的简单查询_第13张图片

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

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

《数据库系统原理》实验4:表数据的简单查询_第14张图片

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

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

《数据库系统原理》实验4:表数据的简单查询_第15张图片

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

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

《数据库系统原理》实验4:表数据的简单查询_第16张图片

三、课后练习题

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

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

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

《数据库系统原理》实验4:表数据的简单查询_第17张图片

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

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

《数据库系统原理》实验4:表数据的简单查询_第18张图片

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

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

《数据库系统原理》实验4:表数据的简单查询_第19张图片

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

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

《数据库系统原理》实验4:表数据的简单查询_第20张图片

 

 

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

问题:

ORDER BY关键字降序排序问题

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

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

解决方案:

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

你可能感兴趣的:(实验,考试与课设)