1. select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0) from emp;
2. select DISTINCT deptno from emp;
3. select DISTINCT deptno,job from emp;(DISTINCT作用于后面所有的列)
4.select * from emp where deptno=10;
5.select *
from emp
where sal between 1000 and 2000;
6.select *
from emp
where sal between 1000 and 2000;
7.select *
from emp
where deptno not in (10,20);
8.select *
from emp
where ename like 'S%';
9.select *
from emp
order by sal;(默认是从小到大)
10.select *
from emp
order by deptno,sal desc;(desc就近原则)
11.select sum(sal) from emp;
12.select count(*) from emp;
13.select deptno,avg(sal)
from emp
group by deptno;(求各部门的平均工资);
14. select deptno,job,avg(sal)
from emp
group by deptno,job(注意group by同时作用于deptno和)
order by deptno;
15.求平均工资大于2000的部门
select deptno,avg(sal)
from emp
group by deptno
having avg(sal) > 2000;
16.求10号部门的平均工资
select deptno,avg(sal)
from emp
group by deptno
having deptno=10;或者
select deptno,avg(sal)
from emp
where deptno=10
group by deptno;
17.select e.empno,e.ename,e.sal,d.dname
from emp e,dept d
where e.deptno=d.deptno;
1.要求显示学生姓名和平均分
因此确定第1步
select s_name,avg(score) from student
2.计算平均分前不包括分数在60分以下的成绩,并且也不计算贱人(jr)的成绩
因此确定第2步
where score>=60 and s_name!=’jr’
3.显示个人平均分相同名字的学生(同一个学生)考多门科目因此按姓名分组确定第3步
group by s_name
4.显示个人平均分在70分以上因此确定第4步
having avg(s_score)>=70
5.按由高到低的顺序因此确定第5步
order by avg(s_score) desc