数据库原理实验报告5

接上次的实验,本次主要练习数据查询由于上次做的比较多,所以本次实验的一些题目在上一次实验报告就已经发布了

首先这次实验是本学期第一次在学校机房做,开始不太习惯,导致有一些截图不是很完整,好在最终还是明白了该怎么用,把实验顺利做完了。只是这次的实验报告题目顺序可能有些乱

这次先给出大纲,之后再放图
单表查询常用的语句和函数
1.比较大小 < > = != !<
具体规则和C语言的语法几乎完全是一样的,!都代表否定的意思
2.确定范围
between…and和not between …and 可用来查找属性值在特定范围内的信息
3.确定集合
IN 可以用来查找属性值属于特定集合的元组,而not IN意义相反,用于查找属性值不属于指定集合的元组
4.字符匹配(个人认为的重点)
LIKE 可以用来实现字符串的匹配 可以用来查找指定属性列值与匹配串相匹配的元组,其中又有一些符号,如%可以代表任意长度的字符串包括0 ,_则代表单个字符。
5.多重条件查询
利用and和or可以链接多个查询条件,其中and优先级最高,仅次于()
6.ORDER BY子句
作用是按某个或多个属性列的升降序完成对查询结果的分组
7.聚集函数
COUNT(*) SUM AVG MAX等等,可以帮助我们更好的实现检索工作,用法大致与C语言的库函数一致,其中DISTINCT语句可以排除重复项,也非常实用
8.GROUP BY子句
此子句可以将查询结果 按某列或多列的值来分组,值相等的为一组
其中,我们常用HAVING语句来增加限制条件

下面是具体例题,顺序有点混乱。。

例3.43计算选修1号课的学生平均成绩
在这里插入图片描述
因为我创建的表中没有一号课学生的成绩,所以计算出来的结果为NULL
例3.23 查询所以年龄在20岁以下的学生姓名及其年龄
在这里插入图片描述
例3.22 查询计算机科学系全体学生的名单
在这里插入图片描述
例3.37 查询所有有成绩的学生学号和课程号在这里插入图片描述
例3.36 查询缺少成绩的学生的学号和相应的课程号
注意,这里的IS不能用等号去代替
在这里插入图片描述
例3.46 求各个课程号及其相应的选课人数
GROUP BY子句将查询的某列或某几列的值分组,值相等的为一组
在这里插入图片描述
例3.40 查询全体学生,按系号升序排列,同系学生按年龄降序排列
其中升序为ASC降序为DESC 默认为升序排列,也就是说,未标注的情况下,是按升序排列的
在这里插入图片描述
例3.42 删掉了DISTINCT,就会重复计算学生人数,如下所示,(当加上DISTINCT便不会重复计算)
在这里插入图片描述
例3.28 查询不是计算机科学、数学、信息系学生的姓名和性别(not用大小写都可以,再一次证明SQL语言不必分大小写)

如果删去not 那么查询结果就变为了这三个系的学生信息
在这里插入图片描述
例 3.38 查询计算机科学系年龄在20以下的学生姓名
在这里插入图片描述

例3.31 查询姓“欧阳” 且全名为三个汉字的学生的姓名
注意,数据库字符集为ASC2时用两个下划线,字符集为GBK时只需要一个

可用‘_阳%’来查询名字中第二个字为”阳“的学生姓名,学号,性别,将会得到同样的结果
在这里插入图片描述
例3.30 查询所有刘姓同学的姓名,学号,性别
如果在LIKE 前加not 那么意义将变为查询所有非刘姓同学的信息
在这里插入图片描述
例3.26 查询年龄在20-23岁之间的学生信息
between and和not between and都是可以用来查找属性值在指定范围内的元组 加上not意为不在之中的数据。
在这里插入图片描述
例3.29 查询某学号学生的具体信息
注,这里的LIKE可以用=代替
在这里插入图片描述

下次再上实验课一定拿自己的电脑去上课

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值