文档库 最新最全的文档下载
当前位置:文档库 › 软件学院《数据库原理》实验2(简单的单表查询)book版

软件学院《数据库原理》实验2(简单的单表查询)book版

实验二:简单的单表查询

一、实验目的

1.掌握SELECT语句的基本语法;

2.掌握SELECT子句的作用和使用方法;

3.掌握FROM子句的作用和使用方法;

4.掌握WHERE子句的作用和使用方法;

5.掌握查询条件表达式和使用方法;

6.掌握ORDER BY子句的作用和使用方法。

二、实验环境

已安装SQL Server 2005 企业版的计算机;

三、实验学时

2学时

四、实验要求

1.了解数据库简单的单表查询;

2.了解数据库查询的实现方式;

3.完成实验报告;

五、实验原理

用SELECT语句实现简单的单表查询。在SELECT子句中用TOP关键字来限制返回到结果集中的记录数目,用DISTINCT关键字从结果集中去掉重复的记录。WHERE子句中用关系比较符、[NOT] BETWEEN、[NOT] IN、LIKE、 IS [NOT] NULL及逻辑运算符构成查询条件,对结果集中的记录进行筛选。ORDER BY 子句将根据查询结果集中一个或多个字段对查询结果进行排序。

六、实验示例

运行上一实验中创建的两个数据库S_T和bookcompany的查询文件S_T.sql 和bookcompany.sql文件,生成实验所需的数据库。

针对S_T数据库:

1.查找表中所有姓王的同学的学号,姓名,院系

select sno,sname,sdept

from student

where sname like'王%'

2.查找所有成绩在80分以上(含80)的英语课的学生学号

select sno,grade

from sc

where grade>=80 and cno='1'

3.查找计算机系(CS)以及信息系(IS)的女同学的基本信息。

参考1:select*

from student

where ssex='女'and(sdept='CS'or sdept='IS')

参考2:select*

from student

where ssex='女'and sdept in('CS','IS')

针对bookcompany数据库:

1.查找表中所有姓刘的职工的工号,姓名,部门,薪水

select emp_no, emp_name, dept, salary

from employee

where emp_name like'刘%'

2.查所有图书8折后的价格

SELECT book_name 书名,price 原价,cast(price*0.8 as numeric(5,1))折后价

FROM books

3.查找业务部或会计部的女员工的工号、姓名和所属部门。

select emp_no,emp_name,dept

from employee

where sex='女'and dept in('业务','会计')

4.查询所有定价在50元以下或者100元以上的图书名称和价格。

SELECT book_name,price

from books

where price not between 50 and 100

5.选取销售数量最多的前5条订单订单号、数量。

select top 5 order_no,qty

from sale_item

order by qty desc

6.计算出sale_item表中每一笔销售数据的销售金额,并按照销售金额的

大小排序。

select book_no,qty, unit_price,(qty*unit_price)as tot_amt

from sale_item

order by tot_amt desc

七、实验内容

请使用T-SQL 语句实现以下操作:

●针对S_T数据库

1.列出所有不姓刘的所有学生;

2.列出姓“沈”且全名为3个汉字的学生;

3.按照“性别、学号、姓名、年龄、院系”的顺序列出学生信息,其中性别按

以下规定显示:性别为男显示为男生,性别为女显示为女生,其他显示为“条件不明”;

4.查询出课程名含有“数据”字串的所有课程基本信息;

5.显示学号第八位或者第九位是1、2、3、4或者9的学生的学号、姓名、性

别、年龄及院系;

6.列出选修了‘1’课程的学生,按成绩的降序排列;

7.列出同时选修“1”号课程和“2”号课程的所有学生的学号;

8.列出课程表中全部信息,按先修课的升序排列;

9.按照出生年份升序显示所有学生的学号、姓名、性别、出生年份及院系,在

结果集中列标题分别指定为“学号,姓名,性别,出生年份,院系”;

10.按照院系降序显示所有学生的“院系,学号、姓名、性别、年龄”等信息,

其中院系按照以下规定显示:院系为CS显示为计算机系,院系为IS显示为信息系,院系为MA显示为数学系,其他显示为院系不明;

11.按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及

成绩;

●针对bookcompany数据库

1、查找所有经理的姓名、职称、薪水。

2、在销售主表sales中查找销售金额大于等于100元的订单。

3、在员工表employee中查找薪水在40000至80000元之间的员工。

4、在员工表employee中查找住址为上海市、北京市、天津市这三个城市的员工。

5、在客户表customer中查找帅宜阳、钟博文、张旭达这三个客户的信息。

6、在员工表employee中查找姓“王”用姓名最后一个字为“功”的员工。

7、在客户表customer中查找姓“张”的客户名称、电话。

8、查找出职称为“经理”或“职员”的女工的信息。

9、查找薪水最高的前三条员工记录。

10、查找订单金额最高的前10%的订单记录。

11、查找员工表中所属部门。(去掉重复记录)

12、查找员工表中的所有记录,并按薪水由低到高进行排序。

六、出现问题及解决办法

如:某些查询操作无法执行,如何解决?

相关文档
相关文档 最新文档