首先建好一个教师表(如下表),然后在此基础上依次进行各种简单查询.
| 教工号 | 姓名 | 家庭地址 | 电话 | 职称 | 工资 | 所在教研室 |
|---|---|---|---|---|---|---|
| 2111 | 朱辉生 | 连云港市 | 5817693 | 副教授 | 5800 | 计算机软件 |
| 2112 | 单建魁 | 连云港市 | 5817692 | 讲师 | 4900 | 计算机网络 |
| 2113 | 赵启升 | 连云港市 | 5817693 | 工程师 | 4800 | 计算机网络 |
| 2114 | 胡云 | 连云港市 | 5817692 | 助教 | 3500 | 计算机软件 |
| 2115 | 葛庆兵 | 连云港市 | 5817694 | 助教 | 3500 | 计算机体系结构 |
实验内容
(1). 基本查询
- 从teacher表中分别检索出教师的所有信息.
select * from teacher
- 查询teacher表中教工号、姓名和职称.
select 教工号,姓名,职称 from teacher
(2). 查询时改变列标题的显示
从teacher表中分别检索出教师教工号、姓名、家庭住址信息并分别加上‘教师姓名’、‘教工号’、‘家庭住址’等标题信息.
select 教工号,姓名 教师姓名,家庭住址 from teacher
(3). 基于WHERE语句进行数据查询
- 基于比较条件,从teacher表中查询出教工号小于2130的教师资料.
select * from teacher
where 教工号<'2130'
- 基于BETWEEN语句,从teacher表中查询出教工号界于2100和2130之间的教师资料.
select * from teacher
where 教工号 between '2100' and '2130'
- 基于IN子句的数据查询,从teacher表中查询出职称为“教授”或“副教授”的教师的教工号、教师姓名、职称及家庭住址.
select 教工号,姓名 教师姓名,职称,家庭住址 from teacher
where 职称 in ('教授','副教授')
//也可以写成下面一种
select 教工号,姓名 教师姓名,职称,家庭住址 from teacher
where 职称='教授' or 职称='副教授'
- 基于LIKE子句的查询,从teacher表中分别检索出姓赵的教师的资料.
select * from teacher
where 姓名 like '赵%'
- 使用TOP关键字查询,分别从teacher中检索出前2条及前面67%的教师的信息.
select top 2 * from teacher
select top 67 percent * from teacher
- 使用DISTINCT关键字查询,从teacher表中检索出教师的职称并且要求显示的职称不重复.
select distinct 职称 from teacher
- 用计算列查询,将teacher表中各教师的姓名、教工号及工资按95%发放的信息,将工资按95%发放后列名该为‘预发工资’.
select 姓名,教工号,工资,工资*0.95 预发工资 from teacher
- 使用ORDER BY语句对查询的结果进行排序,从teacher表中查询工资大于4500的教师的教工号、姓名,并按升序排列.
select 教工号,姓名 from teacher
where 工资>4500 order by 工资 asc