实训指导
您当前的位置: 首页>实训指导

实验十

SQL查询语句的使用

发布时间: 2018-11-27      信息来源:       阅读次数:

实验十    SQL查询语句的使用

一、实验目的
1
.掌握SQL语言中SELECT语句的格式,掌握WHERE、GROUPBY、ORDER BY等子句的用法。
2
.掌握简单查询、连接查询、嵌套查询的应用。
3.了解各种查询条件的表达方法。
4.学会解决复杂查询的思路与方法。

二、实验内容及上机步骤
【上机题一】
用SQL语言查询所有在2000年以前参加工作并且职称是讲师的职工。
【上机步骤】
本题的知识点是带WHERE子句的SELECT查询语句。
在命令窗口中执行如下命令:
SELECT * FROM
职工表 where year(工作日期)<2000 AND 职称=’讲师’

【上机题二】
用SQL语言实现查询职工表中所有姓名里有一个“利”字的职工信息。
【上机步骤】
本题的知识点是带有WHERE子句的SELECT查询语句及like模式匹配条件与通配符的使用。
在命令窗口中执行如下命令:
SELECT * FROM
职工表 WHERE 姓名 like ‘%利%’
说明:

查询条件是“姓名里有一个利字”,这个“利”字可以是姓,也可以是名,因此它可在最前,也可在中间或最后。Like通配符只有两个:?和%,?表示任意一个字符,%表示任意多个字符,因此表达式应该为‘%利%’。

【上机题三】
用SQL语言实现将工资表中所有记录按职称津贴的值升序输出,如职称津
贴值相同,再按基本工资的值降序输出。
【上机步骤】
本题的知识点是带有ORDER BY子句的SELECT语句。
在命令窗口中执行如下命令:
select * from
工资表 order by 职称津贴 ASC ,基本工资 DESC
说明:

注意排序的次序,第一排序字段写在前面,第二排序字段写在后面,然后要说明排序方式。升序用ASC表示,也可省略不写;降序用DESC表示。

【上机题四】
用SQL语言实现统计职工表中各部门的男职工人数。
【上机步骤】
本题的知识点是GROUP BY子句与WHERE子句的SELECT语句。
在命令窗口中执行如下命令:
SELECT
部门编号,COUNT(*) AS 人数 FROM 职工表 WHERE 性别=’男’;
group by 部门编号
说明:
先用where子句将职工表中的所有男职工筛选出来,然后对部门进行分组,统计出各部门的男职工人数。

【上机题五】
用SQL语言实现统计职工表中各部门的男职工人数,只输出人数大于1人
的部门与人数。
【上机步骤】
本题的知识点是带有HAVING子句的GROUP BY子句及WHERE子句的SELECT语句。
在命令窗口中执行如下命令::
SELECT
部门编号,COUNT(*) as 人数 FROM 职工表 WHERE 性别='男';
GROUP BY 部门编号 HAVING COUNT(*)>1

【上机题六】
用SQL语言实现从职工表、部门表和工资表中查询部门编号为“01”的职
工信息,要求输出职工编号、姓名、部门编号、部门名称、基本工资字段的值。
【上机步骤】
本题的知识点多表联合查询操作。
在命令窗口中执行如下命令::      
SELECT a.
职工编号,a.姓名,a.部门编号,b.部门名称,c.基本工资;
FROM 职工表 a,部门表 b,工资表 c;
WHERE b.部门编号=a.部门编号 AND a.职工编号=c.职工编号 AND;
a.部门编号='01'

【上机题七】
使用嵌套查询,输出基本工资大于1000的职工的编号、姓名、职称字段的值。
【上机步骤】
本题的知识点是嵌套查询操作。
在命令窗口中执行如下命令:
SELECT
职工编号,姓名,职称 FROM 职工表;

WHERE职工编号 IN(SELECT 职工编号 FROM 工资表 WHERE 基本工资>1000)