查询
from子句:指定查询数据的表
where子句:查询数据的过滤条件
group by子句:对匹配where子句的查询结果进行分组
having子句:对分组后的结果进行条件限制
order by子句:对查询结果结果进行排序,后面跟desc降序或asc升序(默认)。
imit子句:对查询的显示结果限制数目
procedure子句:查询存储过程返回的结果集数据
select * from ACC_INFO where rownum<=5查询前五条
==============================
¢举例1 : 查询全体学生的学号与姓名。
¢select sno,sname from student;
¢举例2 : 查询全体学生的详细记录。
¢select sno,sname,ssex,sage,sdept from student;
¢或select * from student;
¢举例3 : 查全体学生的姓名及其出生年份。
¢select sname,2008-sage from student;
¢举例4 : 查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。
select sname,'year of birth: ',2008-sage, islower(sdept) from student;
¢举例5 : 查询选修了课程的学生学号(去掉重复的记录)
¢select distinct studentid from sc;
¢举例6 : 查询全体学生的学号与姓名,用中文显示列名。
¢select sno as ‘编号’,sname as ‘姓名’ from student;
¢举例7 : 给表设置别名。
¢select s.sno,s.sname from student as s;
¢举例8 : 查询年龄在20以下的学生的姓名。
¢select sname from student where sage<20;
¢举例9 : 查询全体学生的姓名、年龄,要求按照年龄降序排序。
select sname,sage from student order by sage desc;
¢举例10 : 查询年龄最大的前3个学生的姓名和年龄,或第4、5个学生
¢select sname,sage from student order by sage desc limit 3;或(limit 3,2)
¢SQL提供的统计函数称为集函数.
主要的集函数:
记数函数: count(列名) 计算元素的个数
求和函数: sum(列名) 对某一列的值求和,但属性必须是整型
计算平均值:avg(列名)对某一列的值计算平均值
求最大值: max(列名) 找出某一列的最大值
求最小值: min(列名) 找出某一列的最小值
¢举例11 : 查询学生总数。
select count(*) from student;
select count(*) from student;
¢举例12 : 查询选修了课程的学生人数。
select count(distinct studentid) from sc;
select count(distinct studentid) from sc;
¢举例13 : 查询1号课程的学生平均成绩。
select avg(grade) from sc where courseid=1;
select avg(grade) from sc where courseid=1;
¢举例14 : 查询1号课程的学生最高分和最低分。
¢select
max(grade) as ‘最高分’,min(grade)
as ‘最低分’ from sc where courseid=1;
¢举例15 : 查询每个学生的平均成绩。
¢select
studentid,avg(grade) as ‘平均成绩’ from
sc group by studentid;
¢举例16 : 查询学生的平均成绩在70分以上的。
¢select
studentid,avg(grade) as ‘平均成绩’ from
sc group by studentid having
avg(grade)>70;