oracle数据库笔记.doc
《oracle数据库笔记.doc》由会员分享,可在线阅读,更多相关《oracle数据库笔记.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Oracle:SQL标准.select查询语法select columnName, .from tableNamewhere booleanExpgroup by groupVarhaving booleanExporder by orderVar;=DML:select * from tableName;员工表:empselect * from emp;desc emp; -查看表结构信息select empno, ename from emp;select ename from empwhere sal 1000;分组查询时,可以显示的信息必须满足以下两个条件之一:1.查询信息就是分组条件
2、2.查询信息被组函数影响avg() 平均值sum() 总和max() 最大值min() 最小值count() 计数select job from empgroup by job;select max(sal) from empgroup by job;子查询:将查询语句结果当做条件或表的情况,都叫子查询.select ename from emp;工资高于平均工资的员工名select ename from empwhere sal (select avg(sal) from emp);多表联合查询笛卡尔积select ename,dname fromemp, dept;select e.ena
3、me ename, d.dnamefrom emp e, dept dwhere e.deptno = d.deptno;查询每个工作岗位工资最高的员工名select job, max(sal) from empgroup by job;select ename from empwhere sal = (select max(sal) from empgroup by job);select e.ename, m.m_sal,m.job from emp e, (select max(sal) m_sal,job from empgroup by job) mwhere e.sal = m.m
4、_saland e.job = m.job;and/orselect ename from empwhere sal 1000 andjob = SALESMAN;select ename from empwhere sal 3000 ordeptno = 10;select * from tableNamewhere a = 2 and b 10and f = 50;=1.查询工作岗位是SALESMAN,且工资大于1500的员工名.select ename from empwhere job = SALESMANand sal 1500;2.查询每个部门的平均工资.select avg(sa
5、l) from empgroup by deptno;3.查询部门平均工资高于公司平均工资的部门编号.select deptno, d_sal from(select deptno, avg(sal) d_salfrom empgroup by deptno)where d_sal (select avg(sal) from emp);4.查询工资低于公司平均工资的员工名.5.查询直接下属最多的员工名.5.1 按照MGR字段分组5.2 查询分组后每组的数量select count(*) from emp;5.3 找出数据最多的组.5.4 以最多数据组为条件查询员工名6.查询每个员工的名字及其领
6、导的名字7.查询SCOTT所在部门的最高工资是多少.8.查询SCOTT所属岗位的最高工资是多少.Oracle数据类型数学类型number 任意数学类型number 整数,长度为8位number(6) 整数,长度为6number(6,2) 浮点数总长度为6,小数位2位integer 整数字符串类型varchar:变长字符串varchar(20)无默认长度char:定长字符串char(20)默认长度为1 char = char(1)varchar2:Oracle特有变长字符串*long:长字符串,可变长日期类型date:日期,年月日时分秒timestamp:时间戳精度为纳秒desc emp;+ -
7、 * / modselect ename, sal * 12from emp;select sal, mod(sal, 1000)from emp;select ename, length(ename)from emp;helloworldoracle特殊表dual哑表.哑表:没有数据,没有字段.直接返回所有查询数据.select hello world from dual;|select hello | | world from dual;select ename | |job from emp;日期处理:select hiredate from emp;日期格式化:to_char()sel
8、ect to_char(hiredate,yyyy-mm-dd HH24:mi:ss)from emp;当前系统时间:sysdateselect to_char(sysdate, yyyy-mm-dd HH24:mi:ss) from dual;日期转换:to_date()select to_date(2008-08-08,yyyy-mm-dd)from dual;查询所有01月入职的员工名select ename from empwhere to_char(hiredate,mm) = 01;select sysdate + 1 from dual;last_day()select last
9、_day(sysdate)from dual;select last_day(to_date(2007-02-10,yyyy-mm-dd)from dual;trunc() 截取select trunc(sysdate,yyyy)from dual;add_months()select add_months(sysdate,-12*30) from dual;select ename, hiredatefrom empwhere add_months(sysdate,-12*30) hiredate;特殊值:null.null与任意值计算,结果为nullnull无法比较大小null无法比较等值
10、select ename, sal* 12 + comm * 12from emp;select ename, commfrom empwhere comm 10000;2.查询工龄在30年以上且总年薪大于15000的员工名.select ename from empwhere add_months(sysdate,-30*12) hiredate andsal*12+nvl(comm,0)*1215000;3.查询12月入职,且有提成工资的员工名select ename from empwhere to_char(hiredate,mm)= 12 andnvl(comm,-1) = 0;se
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 数据库 笔记
限制150内