QBE: Query By Example
基于屏幕表格的查询语言
查询要求:以填写表格的方式构造查询
用示例元素(域变量)来表示查询结果可能的情况
查询结果:以表格形式显示
QBE操作框架
构造查询的几个要素
示例元素: 即域变量, 一定要加下划线
示例元素是这个域中可能的一个值, 它不必是查询结果中的元素
打印操作符P.: 指定查询结果所含属性列
查询条件: 不用加下划线
可使用比较运算符>, ≥,<, ≤,=和≠ 其中=可以省略
排序要求
条件查询
常用集函数:
函 数 名 | 功 能 |
CNT | 对元组计数 |
SUM | 求 总 和 |
AVG | 求平均值 |
MAX | 求最大值 |
MIN | 求最小值 |
查询信息系学生的平均年龄。
对查询结果排序
升序排序:
对查询结果按某个属性值的升序排序,只需在相应列中填入‚AO.‛
降序排序:
按降序排序则填‚DO.
多列排序:
如果按多列排序,用‚AO(i).‛ 或‚DO(i).‛ 表示 ,其中i为排序的优先级, i值越小,优先级越高
查全体男生的姓名, 要求查询结果按所在系升序排序, 对相同系的学生按年龄降序排序。
修改操作
分两行分别表示改前和改后的示例元素
必须将操作符‚U.‛ 放在关系上
eg:将计算机系所有学生的年龄都改为18岁
eg:把95001学生的年龄增加1岁
eg:将计算机系所有学生的年龄都增加1岁
插入操作
eg:把信息系女生95701, 姓名张三, 年龄17岁存入数据库中。
删除操作
eg:删除学生95089
为保证参照完整性, 删除95089学生前, 先删除95089学生选修的全部课程