- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle常用基本语句查询创建等
查询块
批量查询
SQLselect * from emp where in(123,456,789); //查询一个条件的多个情况的批量处理
查询某个数据行的某列为空的数据的相关数据
SQL select * from emp where mgr is null;
条件组合查询(与、或)
SQLselect * from emp where (sal500 or job=’MANAGER’) and ename like ‘J%’;
Order by 排序
【1】SQLselect * from emp order by sal (asc); //从低到高[默认]
【2】SQLselect * from emp order by sal desc; //从高到低
【3】SQLselect * from emp order by deptno (asc),sal desc; //组合排序
【4】SQLselect ename,sal*12 “年薪” from emp order by “年薪” (asc);
SQL select ename,(sal+nvl(comm,0))*12 as 年薪 from emp order by 年薪;
资料分组(max、min、avg、sum、count)
SQLselect max(sal),min(sal) from emp;
SQLselect ename,sal from emp where sal=(select max(sal) from emp); //子查询,组合查询
SQL select * from emp where sal(select avg(sal) from emp); //子查询,组合查询
SQL update emp set sal=sal*1.1 where sal(select avg(sal) from emp) and hiredate1-1月-1982; //将工资小于平均工资并且入职年限早于1982-1-1的人工资增加10%
Group by 和 having 子句
//group by用于对查询出的数据进行分组统计
//having 用于限制分组显示结果
SQLselect avg(sal),max(sal),deptno from emp group by deptno; //显示每个部门的平均工资和最低工资
SQLselect avg(sal),max(sal),deptno from emp group by deptno; //显示每个部门的平均工资和最低工资
SQL select avg (sal),max(sal),deptno from emp group by deptno having avg(sal)2000;
SQL select avg (sal),max(sal),deptno from emp group by deptno having avg(sal)2000 order by avg(sal);
多表查询
笛卡尔集:规定多表查询的条件是至少不能少于:表的个数-1
SQL select a1.ename,a1.sal,a2.dname from emp a1,dept a2 where a1.deptno=a2.deptno;
SQL select a1.dname,a2.ename,a2.sal from dept a1,emp a2 where a1.deptno=a2.deptno and a1.deptno=10; //显示部门编号为10的部门名、员工名和工资
SQL select a1.ename,a1.sal,a2.grade from emp a1,salgrade a2 where a1.sal between a2.losal and a2.hisal;
SQL select a1.ename,a1.sal,a2.dname from emp a1,dept a2 where a1.deptno=a2.deptno order by a1.deptno; //多表排序
SQL select worker.ename,boss.ename from emp worker,emp boss where worker.mgr=boss.empno; // 自连接(多表查询的特殊情况)
SQL select worker.ename,boss.ename from emp worker,emp boss where worker.mgr=boss.empno and worker.ename=FORD;
子查询
SQL select * from
文档评论(0)