标签:order 位置 coalesce instr nbsp avg between rom group by
select * from EMP where ENAME =‘SMITH‘; select ename || ‘ is a ‘ || job from emp; select distinct empno from emp; select * from emp where COMM>SAL; select COMM+SAL from emp; select * from emp where job not in(‘SALESMAN‘,‘MANAGER‘); select * from emp where COMM is not null; select ename,sal from emp order by sal; /*默认升序(asc)*/ select upper (‘avdd‘) from dual; select initcap(ename) from emp;/*将所有单词首字母变大写*/ select concat(‘s‘,‘v‘)from dual; select concat(‘a‘,‘‘) from dual; select concat(‘‘,‘a‘) from dual;/*对空格连接不起作用*/ select length(ename) from emp;/*测量某列长度*/ select replace(‘ename‘,‘a‘,‘K‘) from dual; select instr(‘hello world‘,‘e‘)from dual;/*指定字符出现的位置*/ select concat(JOB,SAL) from emp; select JOB||SAL from emp; select * from emp where lower(ENAME)=‘smith‘; select * from emp where ENAME is null; select length(ename) from emp;/*列的真实字段名儿*/ /*substr(字符串,截取开始位置,截取长度) //返回截取的字*/ select trunc(49.736,-1) from dual; select sysdate from dual; select months_between(to_date(‘10-07-1994‘,‘dd-mm-yyyy‘),to_date(‘11-06-1994‘,‘dd-mm-yyyy‘)) from dual; select add_months(to_date(‘08-03-2017‘,‘dd-mm-yyyy‘),6) from dual; select ‘[‘||ENAME||‘]‘ from emp; select ‘[‘||ENAME||‘]‘ from emp where ename=‘SMITH‘; select NEXT_DAY(to_date(‘01-09-2017‘,‘dd-mm-yyyy‘),‘星期一‘) from dual; select last_day(to_date(‘18-08-2017‘,‘dd-mm-yyyy‘)) from dual; select to_char(sysdate,‘mm‘) from dual; select to_number(‘13‘)+to_number(‘15‘)from dual;--转换为数字 select round(to_date(‘08-09-2013‘,‘dd-mm-yyyy‘)) from dual; select round(sysdate) from dual; --分组函数 select avg(sal) from emp; select sum(sal) from emp; select max(sal) from emp; select min(sal) from emp; --4.6 select *from emp where last_day(HIREDATE)-2=HIREDATE; select * from emp where hiredate<=add_months(hiredate,-25*12);--25年前雇的员工 select round(months_between(sysdate,HIREDATE))*30 from emp; --通用函数 select nvl(COMM,0) from emp;--相同则返回空值,不相同则返回第一个表达式的值 select nvl2(sal,comm+sal,sal) from emp;--第一个值不为空,则返回第二个值;为空则返回第三个值 select sal,coalesce(sal,COMM+SAL,sal,0) from emp;--返回第一个非空值 select empno case deptno when 10 then ‘财务部‘ when 20 then ‘研发部‘ else ‘销售部‘ end from emp; --分组函数 select ename from emp group by DEPTNO,ename; select avg(sal),deptno from emp group by deptno; select count(*) from emp; select avg(sal) from emp group by sal order by sal desc;--order by出现在group by之前没有意义 select * from emp; select sal,deptno from emp group by sal,deptno; --多表查询 select * from STUDENT,SC; select * from(select * from sc,student where student.s#=sc.s#) as a group by a.c#;--false select student.s#,student.* from student left outer join sc on sc.s#=student.s#; select /*s#,sname,*/avg(select score from (select student.s#,student.sname,sc.score from student,sc where student.s#=sc.s#(+))xinbiao) from xinbiao group by xinbiao.score;--感觉快要成功了,加油啊!!! select count(*) from(select student.s#,student.sage,sc.score from student,sc where student.s#=sc.s#(+)); select student.s#,student.sname,avg(sc.score)from student,sc where student.s#(+)=sc.s# group by sc.score; --practice select emp.deptno,count(*)from emp group by emp.deptno; select avg(sal)/*,emp.deptno*/from emp where sal>500 group by emp.deptno /*having sal>500*/ --查询显示工资大于各个部门工资的平均值的员工信息 select * from emp e1,(select avg(sal) avgsal from emp)e2 where e1.sal>e2.avgsal; select avg(sal),deptno from emp group by deptno having sal>avg(sal); select count(*),emp.deptno from emp group by emp.deptno; --查询出每个部门的编号、名称、位置、部门人数、平均工资 select emp.deptno,emp.ename,emp.mgr from emp; select avg(sal) from emp group by emp.deptno; --要求查询出工资比SMITH工资要高的全部雇员信息 select * from emp where sal>(select sal from emp where emp.ename=‘SMITH‘); select * from emp where sal>800; select* from emp where sal between 0 and 1000; select emp.sal from emp order by sal desc; select sal*12 as a from emp; select * from emp where job not in(‘CLERK‘); select * from emp where job not LIKE(‘%CLERK%‘); select * from emp where emp.ename like(‘%O%T%‘); select distinct emp.job from emp; --查询平均成绩大于等于70分的同学的学生编号和学生姓名和平均成绩 select student.s#,student.sname from student,(select avg(sc.score)avgsr from sc group by sc.c#)avgsc where avgsc.avgsr>=70;
标签:order 位置 coalesce instr nbsp avg between rom group by
原文地址:http://www.cnblogs.com/kiskistian/p/7193652.html