数据库单表查询

实验二:2.数据库单表查询
一、实验目的

  1. 掌握SELECT语句的基本语法和查询条件表示方法;
  2. 掌握查询条件表达式和使用方法;
  3. 掌握GROUP BY 子句的作用和使用方法;
  4. 掌握HAVING子句的作用和使用方法;
  5. 掌握ORDER BY子句的作用和使用方法。
    二、实验学时
    2学时
    三、实验要求
  6. 熟练数据库查询语句;
  7. 掌握数据库查询的实现方式;
  8. 完成实验报告;
    四、实验内容
    以数据库原理实验4数据库中数据为基础,请使用T-SQL 语句实现以下操作:
  9. 列出所有不姓刘的所有学生的基本信息;
    select *
    from student
    where Sname not like ‘刘%’
  10. 列出姓“王”且全名为3个汉字的学生的基本信息;
    select *
    from student
    where Sname like ‘王__’ and len(Sname)=3
  11. 显示在1985年以后出生的学生的基本信息;
    select *
    from student
    where (2019-Sage)>=1985
  12. 按照“性别、学号、姓名、年龄、院系”的顺序列出学生信息;
    select Ssex,Sno,Sname,Sage,Sdept
    from student
  13. 显示学号第八位或者第九位是1、2、3、4或者9的学生的学号、姓名、性别、年龄及院系;
    select *
    from student
    where Sno like ‘%[12349]’ or Sno like ‘_______[12349]%’
  14. 列出选修了‘1’课程的学生的学号和成绩,按成绩的降序排列;
    select Sno,Grade
    from sc
    where Cno=1
    order by Grade desc
  15. 按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及成绩;
    select *
    from sc
    where Grade between 70 and 80
    order by Cno,Grade desc
  16. 按课程号降序显示选修各个课程的总人数、最高成绩、最低成绩及平均成绩;
    select count(Sno)总人数,max(Grade)最高成绩,min(Grade)最低成绩,avg(Grade)平均成绩
    from sc
    order by Cno desc
  17. 显示选修的课程数大于3的各个学生的选修课程数;
    select Sno , count(Cno)
    from sc
    group by Sno
    having count(cno) > 3;
  18. 列出有二门以上课程(含两门)不及格的学生的学号及该学生的平均成绩;
    select Sno,avg(Grade) 平均成绩
    from sc
    where Sno in (
    select Sno
    from sc
    where Grade<60
    group by Sno
    having count(Sno)>=2 )
    group by Sno;

注:需要在实验报告册中写出每道题的T-SQL语句。
五、实验步骤
命令方式:在【SQL Server Management Studio】窗口左上方选择【新建查询】按钮,启动SQL编辑器窗口,在光标处输入T-SQL语句,单击【执行】按钮。例如第一题可输入:
select * from student where sname not like ‘刘%’

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值