当前位置: 首页 > article >正文

实验四 简单查询

实验四 简单查询

一、实验目的
1.掌握Management Studio的使用。
2.掌握SQL中Select命令的使用。

二、实验内容及要求
用SQL语句完成下列查询。使用数据库为SCHOOL数据库。

1. 查询学生的姓名、性别、班级名称,并把结果存储在一张新表中。(提示:用Select……Into……)

select stu_name,stu_sex,class_name 
into stu_class 
from Student s 
join class c on s.class_id = c.class_id

2.查询男生的资料。

select *
from student
where stu_sex='男'

select *
from teacher
where teac_sex='男'

3.查询所有计算机系的班级信息。

select class_id
from class
where class_name like '%计算机%'

4.查询艾老师所教的课程号。

select course_id
from courseteacher ct
join teacher t on ct.teac_id = t.teac_id
where t.teac_name like '艾%'

5.查询年龄小于30岁的女同学的学号和姓名。(获取系统当前时间函数:getdate(),获取时间的年份函数:year,获取月份函数:month,获取“日”函数:day)

select stu_id,stu_name
from student s
where stu_sex = '女' and datediff(year,birthday,getdate()) < 30
--没有年龄小于30岁的女同学
--DATEDIFF用于计算两个日期之间的差异,DATEDIFF (datepart, startdate, enddate)

6.查询所有被选修的课程号。

select distinct course_id
from studentgrade
--SELECT DISTINCT 语句用于返回唯一不同的值

7.在学生基本信息表Student中检索学生的姓名和出生年份,输出的列名为
STUDENT_NAME和BIRTH_YEAR。

select stu_name as STUDENT_NAME,YEAR(birthday) as BIRTH_YEAR
from student
--YEAR() 函数用于从一个日期表达式中提取年份部分

8.在StudnetGrade中,求选修课程“0511”且分数排名为前10%学生的学号和得分。(Top 10 percent)

select  top 10 PERCENT Stu_id,Grade 
from StudentGrade 
where Course_id='0103' 
order by Grade desc

9.查询选修课程号为“0109”或“0111”的学生学号。

select stu_id,course_id
from studentgrade
where course_id = '0109' or course_id ='0111'

10.查询课程“0101”的成绩在80与90之间的同学的学号。

select stu_id,course_id
from studentgrade
where course_id ='0111' and grade >= 80 and grade <= 90

11.查询平均成绩都在80分以上的学生学号及平均成绩。(group by)

select stu_id,avg(grade) as avggrade
from studentgrade
group by stu_id
having avg(grade) >= 80

三、实验小结
1.此次实验中得到的哪些经验教训、疑难问题?
有什么心得或总结?

经验:表结构和字段类型对于正确编写查询语句至关重要。只有了解了表的结构和字段的类型,我能确保查询语句的正确性。
问题:在理解复杂查询语句(如包含多个表连接的查询)时存在一定的困难,对数据库中的表关系理解不够透彻。
心得:掌握基础知识非常重要,只有掌握了基本的函数,才能进一步学习更高级的查询技能。


http://www.kler.cn/a/527717.html

相关文章:

  • 使用国内镜像加速器解决 Docker Hub 拉取镜像慢或被屏蔽的问题
  • 简要介绍C++中的 max 和 min 函数以及返回值
  • 愿景:做机器视觉行业的颠覆者
  • css-background-color(transparent)
  • Java中的注解与反射:深入理解getAnnotation(Class<T> annotationClass)方法
  • 阿里巴巴Qwen团队发布AI模型,可操控PC和手机
  • 【2024年华为OD机试】(C卷,100分)- 检查是否存在满足条件的数字组合 (Java JS PythonC/C++)
  • Redis_Redission的入门案例、多主案例搭建、分布式锁进行加锁、解锁底层源码解析
  • Ruby 类和对象
  • 专业绘图软件draw.io安装使用
  • 2021 年 12 月大学英语四级考试真题(第 3 套)——纯享题目版
  • Jason配置环境变量
  • Docker小游戏 | 使用Docker部署2048网页小游戏
  • 自制虚拟机(C/C++)(一、分析语法和easyx运用,完整虚拟机实现)
  • 常见“栈“相关题目
  • 392.判断子序列
  • React 19 新特性探索:提升性能与开发者体验
  • 数学平均数应用
  • 如何自己设计一个类似 Dubbo 的 RPC 框架?
  • windows系统本地部署deepseek及webui界面
  • doris:数据更新概述
  • Spring Data JPA排序实战:从基础到应用
  • 智联出行公司 ZSTL:创新驱动,引领绿色出行未来
  • Many Whelps! Handle It! (10 player) Many Whelps! Handle It! (25 player)
  • 【回溯+剪枝】组合问题!
  • 精品PPT | 华为企业数据架构、应用架构及技术架构设计方法