COMPUTE PUTE BY 汇总数据(不要求)
GROUP BY子句有个缺点,就是返回的结果集中只有合计数据,而没有原始的详细记录。 COMPUTE BY 子句使您得以用同一 SELECT 语句既查看明细行,又查看汇总行。
实 put by与group by比较
SELECT sname,count(*),avg(mark)
FROM student1
GROUP BY sname
统计student1表每个学生选了几门课及平均成绩。
SELECT sno, sname, mark
FROM student1
ORDER BY sname
COMPUTE COUNT(sno), AVG(mark) BY sname
统计student1表每个学生选了几门课及平均成绩。
实 put by与group by比较
compute …中可以使用多个聚合函数,pute 用了by子句,则必须使用order by , 且compute by中的列必须是order by列表的全部,或者前边的连续几个。
Comput… by…的使用规则
1、 SELECT sno, sname, mark
FROM student1
ORDER BY sname
COMPUTE COUNT(sno), AVG(mark)
BY sname
by关键字的作用
2、SELECT sno, sname, mark
FROM student1
COMPUTE COUNT(sno), AVG(mark)
带有 BY 子句时,每个组都有两个结果集:
每个组的第一个结果集是明细行集,其中包含该组的选择列表信息。
每个组的第二个结果集有一行,PUTE 子句中所指定的聚合函数的小计。
不带BY 子句时,SELECT 语句有两个结果集:
第一个结果集是包含选择列表信息的所有明细行。
第二个结果集有一行,PUTE 子句中所指定的聚合函数的合计
by关键字的作用
连接查询
引例:查询男生的学号、姓名、课程名称和成绩,并按成绩从高到低排序。
表及表中字段
teacher(tno,o,sal,dname,tsex,age)
ame,ctime,scount,ctest)
student1(sno,sname,dname,o,mark,type)
连接查询的实现
在FROM中指定表,在WHERE子句
中指定连接条件
使用JOIN关键字,即在FROM子句
中实现连接
连接
查询
一、在FROM中指定表,在WHERE子句中指定连接条件
规则:
FROM子句中列出所有连接的表的表名。
WHERE子句中定义连接条件。
当列名为多个表共有时,要指明列的所在表。
用来连接两个表的条件称为连接条件,格式为: [<表1>].<列名><连接运算符>[<表2>].<列名>
常见的连接运算符:=、>、<、>=、<=、!=
表的连接—两个表
【例】查询每个教师的姓名、所在系、所教课程名及该课程的考试时间。
SELECT TNAME,AME,CTEST
FROM TEACHER,COURSE1
WHERE O=O
teacher(tno,o,sal,dname,tsex,age)
ame,ctime,scount,ctest)
第5章 查询(4)联结查询 来自淘豆网m.daumloan.com转载请标明出处.