数据库的基本SQL查询

xiaoxiao2021-02-28  125

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

 

 

 

 

转载请注明原文地址: https://www.6miu.com/read-85501.html

最新回复(0)