Oracle教程说课.ppt

* * * 按学生出生日期进行降序排序 * 别名,是查询语句对字段进行重命名的一种方法,用来输出显示的。 * ORDER BY 2 ,这2是按结果集输出字段顺序进行排序。不是表上的字段顺序。此实例是按学生姓名进行排序 * 先按学生所在班级编号排序,再按学生出生年月日排序。 * * * * * 查询课程编号为1的所有学生的平均分,最高分,最低分,总分。 * 查询所有学生的最早出生年月和最晚出生年月 * COUNT(*)是返回所有结果集的所有数据。 * SQL1:统计班级编号为1的且出生年月不为NULL的所有学生总数 SQL2:统计班级编号为1的所有学生总数 * 统计有学生的班级个数 * 查询学生编号为6学生的平均分,没有分数的课程以0分计算。 * SQL: SELECT scourseid,ROUND(AVG(NVL(score,0)),2) avg_score FROM SCORE t GROUP BY scourseid * * * 统计每门课程的所有学生的平均分。 * * * * * 查询课程最高大于90分的课程并显示课程编号及最高分 * 查询课程最高大于90分的课程并显示课程编号及最高分,并按最高分进行排序 * * * * * * * * * * * * * * 1、内连接(inner?join)包括连接表的匹配行 2、左连接:(left join)包括连接表匹配行以及左连接表的所有行 3、右连接:(right join)结果包括连接表的匹配行以及右连接表的所有行? ? * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 插入新的班级721,编号为7 * * * * * * * * * 9.8、SYSDATE 返回数据库所在操作系统上的时间 SELECT SYSDATE,CURRENT_DATE FROM DUAL; 10、子查询 10.1、使用子查询解决问题 10.2、子查询语法 10.3、注意事项 10.4、子查询类型 10.5、单行子查询 10.6、多行子查询 10.1、使用子查询解决问题 谁的课程1的分数比蔡霞文 高? 谁的工资比 Abel 高? Main Query: ? 课程1的蔡霞文分数是多少? ? Subquery 10.2、子查询语法 子查询 (内查询) 在主查询之前一次执行完成。 子查询的结果被主查询使用 (外查询)。 SELECT select_list FROM table WHERE expr operator (SELECT select_list FROM table); 实例 SQL SELECT studentid FROM score WHERE scourseid = 1 AND score (SELECT score FROM score WHERE scourseid = 1 AND studentid = 1); 2 3 4 5 6 7 STUDENTID ---------- 4 10.3、注意事项 子查询要包含在括号内。 将子查询放在比较条件的右侧。 除非进行Top-N 分析,否则不要在子查询中使用ORDER BY 子句。 单行操作符对应单行子查询,多行操作符对应多行子查询。 10.4、子查询类型 主查询 子查询 返回 数据一 多行子查询 数据一 数据二 …… 数据N 主查询 子查询 返回 单行子查询 10.5、单行子查询 只返回一行。 使用单行比较操作符。 操作符 = = = 含义 等于 大于 大于或等于 小于 小于或等于 不等于 执行单行子查询 SQL set linesize 1000 SQL col sname format a20 SQL SELECT studentid,sname FROM student WHERE classid = (SELECT classid FROM student WHERE studentid = 1); 2 3 STUDENTID SNAME ---------- -------------------- 1 蔡霞文 2 学员2 6 学员6 7 学员7 在子查询中使用组函数 SQL SELECT studentid FROM sco

文档评论(0)

1亿VIP精品文档

相关文档