-
可以使用子查询的地方 select 可以使用子查询,但是要保证查询出来的数据只能有一条 select empno,ename,sal,(select job from emp where ename='scott') from 这里可以使用子查询 from (select empno,ename from emp) having 后面可以 having avg(sal)>(select max(sal) from emp where deptno=30) where 后面也可以,在这里就不说了 不能使用子查询的地方 group by 在这里使用子查询的话,系统会抱错查看全部
-
select deptno,avg(sal) from emp group by deptno having avg(sal)>(select max(sal) from emp where deptno=30);查看全部
-
select deptno,avg(sal) from emp group by deptno having avg(sal)>(select max(sal) from emp where deptno=30); 这里不能使用where关键字,因为有分组函数查看全部
-
select empno,ename,sal,(select job from emp where emppno=7839) 第四列 from emp; (select job from emp where emppno=7839) 这个返回 的是一条数据,而不是多条数据,因此可以在select标签中使用子查询,注意:子查询只能显示单条数据查看全部
-
子查询 select * from emp where ename='scott'; select sal from emp where sal>3000; select * from emp where sal>(select sal from emp where ename='scott');查看全部
-
select level,empno,ename,sal,mgr from emp connect by prior empno=mgr start with mgr is null order by 1; 自连接的优缺点:优点 便于产看数据 缺点 不适合大型数据表的查询 层次查询 优点:本质是一个单表查询,不涉及笛卡尔乘积原理,便于查找 缺点: 查询的数据不直观,需要仔细查看查看全部
-
层次查询本质上是单标查询 select empno,ename,sal,mgr from emp connect by prior(关键字:相邻两层的上一层) empno=mgr start with mgr id null;(或者 start with empno=7839)查看全部
-
按部门统计员工人数,要求显示:部门号,部门名称,人数 select d.deptno,d.dname,count(e.empno) from emp e,dept d where d.deptno=e.detpno //这个where条件在这里不成立,因为两张表的部门编号数量不统一时,会出现数据查找结果不准确 group by d.deptno,d.dname; 连接的核心:通过外连接,吧对于连接条件不成立的记录,仍然包含在最后的结果中 左外连接:当连接条件不成立的时候,等号左边的表仍然被包含 又外连接:当连接条件不成立的时候,等号右边的表仍然被包含查看全部
-
oracle中的不等值查询 select e.empno,e.ename,e.sal,s.grade from emp e,salgrade s where e.sal between s.losal and s.hisal; 注意 between ... and ... 前面的数据要小于后面的数据查看全部
-
查询员工编号,名字,工资,部门名称 select e.empno,e,ename,e.sal,d.dname from emp e,deptno d where e.deptno=d.deptno;查看全部
-
select deptno,job,sum(sal) from emp group by deptno,job; select deptno,sum(sal) from emp group by deptno; select sum(sal) from emp; 上面的三条语句合起来的效果与下面的一条语句相同,下面是group by 语句的加强 select deptno,job,sum(sal) from emp group by rollup(deptno,job); select 列名1,列名2,组函数(x) from tablename group by rollup(列名1,列名2);查看全部
-
求部门工资的最大值 select max(avg(sal)) from emp group deptno;查看全部
-
select deptno,avg(sal) from emp group by deptno having avg(sal)>2000; 查询部门编号为10的平均工资 select deptno,avg(sal) from emp where deptno=10 group by deptno; select deptno,avg(sal) from emp group by deptno having deptno=10; 从优化的角度上来说,应该使用where查看全部
-
1 查询工资平均值的三种方式 select sum(sal)/count(*),sum(sal)/count(sal),avg(sal) from emp; 2 查询奖金的两种方式 select sum(comm)/count(comm),avg(comm) from emp; NVL函数,是滤空函数,几过滤空值 select count(*),count(nvl(comm,0)) from emp; 没有数据的时候,用0代替查看全部
-
select deptno,wm_concat from emp group by deptno; wm_concat这个关键字是行转列,在部门号对应的员工名字中,会把所有的员工姓名展示出来查看全部
举报
0/150
提交
取消