实验五 单表查询
【实验目的】
1. 掌握单表的列的查询
2. 掌握单表的行的查询
【实验内容】
1. 实验前准备,SC数据库的创建。 (见参考资料1)
2. 查询的理论基础
命令:
1) Select [all | distinct] <目标列>
2) From <表>
3) [where <对元组的筛选条件> ]
4) [group by <分组列> [having <对组的筛选条件>]]
5) [order by 排序列 [DESC | ASC]]
功能:
1) 第一行命令,对目标列做出要求。决定了查询结果的格式。
2) 第二行命令指定操作对象。
3) 第三行命令:从表中查询满足条件的元组。
4) 第四行命令用于需要分组统计时使用。Having条件用于对分组后的筛选。Where用于在分组前元组的筛选。
5) 第五行命令是对查询结果的一个排序操作。
6) 第三行、第四行和第五行是可选的命令行。不需要时,不需要。
3. 单个表的列的查询
1 )选择指定的列
【例1】 查询全体学生的学号和姓名
命令:select sno,sname
from student
结果:
2 )查询全部列 (用*或列出所有列的名称)
【例2】 查询全体学生的详细信息
3 )对查询后的指定列进行命名
【例3】 查询全部学生的 “ 姓名 ” 及其 “ 出生年 ” 两列
4 )消除取值重复的行 (distinct)
【例4】 查询选修了课程的学生学号
4. 查询满足条件的行
选择表中若干元组(满足条件的)
( I)大小比较
【例5】 查询计算机系( IS )全体学生名单
【例6】 查询全体 20 岁以下的学生姓名和年龄
( II)确定范围
【例7】 查询所有在 20 到 23 岁(含 20 和 23 )的学生姓名、系别和年龄
( III) in 和 not in 确定集合
【例8】 查询 IS 系和 CS 系的全体学生姓名和性别