-
报表1111查看全部
-
省略显示,注意第一句查看全部
-
统计多种分组方式的查看全部
-
where后面不能有组函数,所以用having查看全部
-
having,用于筛选查看全部
-
出现在select后的非分组函数(sum,avg等)必须出现group by后面查看全部
-
a not in(10,20,null)相当于a!=10 and a!=20 and a!=null,然而a!=null永远为假, 所以要排除空值,判断是否是null值,只能用is or is not而不能用= 或者!=。 select * from emp where empno not in (select mgr from emp where mgr is not null);查看全部
-
多行操作符:in 示例:查询部门名称是SALES和ACCOUNTING的员工信息 select * from emp where deptno in (select deptno from dept where dname='SALES' or dname='ACCOUNTING'); 或者 select e.* from emp e,dept d where e.deptno=d.deptno and (d.dname='SALES' or d.name='ACCOUNTING');查看全部
-
单行子查询示例1 1、查询员工信息,要求 职位与7566员工一样、薪水大于7782员工的薪水 select * from em where job=(select job from emp where empno=7566) and sal>(select sal from emp where empno=7782); 注意: 1、单行子查询只能使用单行操作符 2、在一个主查询中可以有多个子查询 示例2: 查询工资最低的员工信息 select * from emp where sal=(select min(sal) from emp); 示例3: 查询最低工资大于20号部门最低工资的部门号和部门的最低工资 select deptno ,min(sal) from emp group by deptno having min(sal)>(select min(sal) from emp where deptno=20);查看全部
-
一般先执行子查询,再执行主查询;但相关子查询例外 相关子查询,外表必须起别名(如例子中给emp起别名为e),传递给子查询 select empno,ename,sal,(select avg(sal) from emp where deptno=e.deptno) avgsal from emp e where sal>(select avg(sal) from emp where deptno=e.deptno);查看全部
-
这期视频的意思就是,rownum的排序是默认的,所以我们先不要打乱行号rownum的顺序,所以只能分两次查询,括号里的查询是第一次,他把薪水按照降序排列,因为没有查询行号,所以行号这个伪列不用考虑进去,那么第二次查询才给括号里查到的数据(当成一个新的表)加上行号,就可以实现目的了 例子:查询工资前三的员工号,员工姓名、工资 select rownum,empno,name,sal from (select * from em order by sal desc) where rownum<=3;查看全部
-
子查询需要注意的问题 不要忘记子查询语法中的小括号 形成良好的子查询的书写风格 可以使用子查询的位置:Where,select,having,from 不可以使用子查询的位置:group by 强调:from后面的子查询 主查询和子查询可以不是一张表 一般不在自查询中,使用排序;但是在Top-N分析问题中,必须对子查询排序 一般先执行子查询,再执行主查询;但相关子查询例外 单行子查询只能使用单行操作符;多行子查询只能多行操作符 注意:子查询中是Null值的问题查看全部
-
子查询示例: 谁的工资比SCOTT高? 先查SCOT的工资,然后在根据查到的按照条件查询比SCOTT工资高的 select sal from emp where ename='SCOTT'; selct *from emp where sal>3000; 使用子查询来解决问题: select * from emp where sal>(select sal from emp where ename='SCOTT')查看全部
-
子查询的使用查看全部
-
不等值连接 示例:查询员工信息,要求显示:员工号,姓名,月薪,薪水的级别 select e.empno,e.ename,e.sal,s.grade from emp e,salgrade s wehere e.sal between s.losal and s.hisal; "between and"语句代替大于等于和小于等于 between and 小值在前,大的值在后。查看全部
举报
0/150
提交
取消