实验四:数据库数据查询

一、实验目的

1.掌握使用T -SQL语句管理数据表数据。

2.掌握SELECT语句的基本语法和查询条件表示方法;

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

4. 掌握GROUP BY 子句、HAVING子句的作用和使用方法;

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

二、实验学时

2学时

三、实验要求

1. 熟练数据库数据更新语句的使用;

2. 掌握数据库查询的实现方式;

四、实验内容

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

1) 列出姓“王”的学生的基本信息;

select * 
from student表 
where Sname like '王%';

2) 查询在1986年以后出生的学生的学号和姓名;

use sql1
select sno,sname
from student表
where sage < 2023-1986

3) 查询没有分配院系的学生的姓名和学号;

use sql1
select sno,sname
from student表
where sdept is NULL

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

use sql1
select *
from sc表
where cast(Grade as int) between 70 and 80
order by Cno DESC,Grade DESC

 

 5) 按照院系降序显示所有学生的 “院系,学号、姓名、性别、年龄”等信息,其中院系按照以下规定显示:院系为CS显示为计算机系,院系为IS显示为信息系,院系为MA显示为数学系,院系为EN显示为外语系,院系为CM显示为中医系,院系为WM显示为西医系,其他显示为院系不明;

use sql1
select 院系=
case
    when sdept = 'CS' then '计算机系'
    when sdept = 'IS' then '信息系'
    when sdept = 'MA' then '数学系'
    when sdept = 'EN' then '外语系'
    when sdept = 'CM' then '中医系'
    when sdept = 'WM' then '西医系'
    else '院系不明'
  end,
  sno as '学号',
  sname as '姓名',
  ssex as '性别',
  sage as '年龄'
from student表
order by 院系 DESC

 

6) 查询同时选修“1”号课程和“2”号课程的所有学生的学号;

use sql1
select sno
from sc表
where cno = 1 and sno in (select sno from sc表 where cno = 2)

 

 

7) 查询学生信息表中的学生总人数及平均年龄,在结果集中列标题分别指定为“学生总人数,平均年龄”;

use sql1
select 学生总人数=count(distinct sno),平均年龄=avg(sage)
from student表

 

 

 

8) 查询选修的课程数大于3的各个学生的选修课程数;

use sql1
select distinct 学号=sno,选课数=count(cno)
from sc表
group by sno
having count(cno)>3

 

 

9) 查询IS系学生的学号、姓名、性别、年龄;

use sql1
select sno 学号,sname 姓名,ssex 性别,sage 年龄
from student表
where sdept = 'IS'

 

 

10) 统计出IS系的学生个数;

use sql1
select distinct IS系的学生个数=count(*)
from student表
where sdept = 'IS'

 

 

11) 查询IS系的学生前两条记录,并组成新表ceshi;

use sql1
select a.*
into ceshi
from student表 a
where sno in
(select top 2 sno
from student表
where sdept='IS'
order by sno)

 

 

12) 查询平均成绩大于“赵菁菁”平均成绩的各个学生的学号、平均成绩;

use sql1 
select sno 学号,avg(Grade) 平均成绩
from sc表
group by sc表.sno
having avg(Grade)>(select avg(Grade)
from sc表,student表
where student表.sno = sc表.sno and student表.sname = '赵菁菁')

 

五、实验步骤

命令方式:在【SQL Server Management Studio】窗口左上方选择【新建查询】按钮,启动SQL编辑器窗口,在光标处输入T-SQL语句,单击【执行】按钮。例如第一题可输入:

select * from student where sname like ‘王%';

完成将上述题目的查询,并将结果截图插入对应题目下方,在课堂派中提交。

 

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值