2015年8月2日--第二三四天Oracle的sql文件
2015-08-03 09:33
399 查看
–2015年7月31日09:07:00
–SELECT *FROM emp WHERE deptno=’10’
–字符自动转为数值
–SELECT *FROM emp
–WHERE 1=’1’7
–SELECT 1+’1’ FROM dual
–以上隐式转换
–以下显式转换
–to_char to_date to_number
–SELECT to_char (hiredate) FROM emp
/*
SELECT ename ,hiredate ,
to_char(hiredate,’YYYY’)YYYY,
to_char(hiredate,’ YEAR’) YEAR,
to_char(hiredate,’ MONTH’) MONTH,
to_char(hiredate,’ MM’) MM,
to_char(hiredate,’ DD’) DD,
to_char(hiredate,’ DAY’) DAY,
to_char(hiredate,’ DY’) DY,
to_char(hiredate,’ HH24:MI:SS’) “HH24:MI:SS”,
to_char(hiredate,’ DD”of”MONTH’) “DDofMONTH”
FROM emp
*/
–SELECT sal,to_char(sal,’$99,999’)FROM emp
–SELECT to_number (‘1111.111’,’9999.999’) FROM dual
–SELECT TO_DATE (‘12-2-12’,’RR-DD-MM’) FROM dual
–exce6
–1
–SELECT to_char(SYSDATE,’yyyy-mm-dd hh24:mi:SS’) FROM dual
–2
–SELECT ename ,hiredate,to_char(hiredate,’DAY’) DAY FROM emp
–3
–SELECT ename ,sal , TO_char(sal,’L999,999.99’) from emp
–4
–SELECT TO_DATE(‘2015-3月-18 13:13:13’, ‘YYYY-month-dd hh24:mi:SS’) ,SYSDATE-TO_DATE(‘2015-3月-18 13:13:13’, ‘YYYY-month-dd hh24:mi:SS’) FROM dual
–2015年7月31日10:04:34
–NVL
–SELECT sal*12+NVL(comm,0) FROM emp
–SELECT sal*12 +NVL2(comm,comm+1,1) FROM emp
/*SELECT ename ,deptno ,
(CASE deptno
WHEN 10 THEN ‘sale’
WHEN 20 THEN ‘tech’
WHEN 30 THEN ‘mgr’
ELSE ‘NO’ END)
deptname
FROM emp*/
/*SELECT ename ,deptno ,
DECODE(deptno,
10,’sale’ ,
20,’tech’,
30,’mgr’,
‘no’)deptname
FROM emp*/
–SELECT ename ,NVL(to_char(mgr),’No manager’) FROM emp –参数类型匹配
–WHERE mgr IS NULL
–homework
–5
–SELECT ename ,NVL(to_char(mgr),’No manager’) FROM emp –参数类型匹配
–WHERE mgr IS NULL
–7
–SELECT ename ,sal ,DECODE(TRUNC(sal/1000),
– 0 , 0,
– 1 , sal*0.1,
– 2 , sal*0.15,
– sal*.2) TAX FROM emp
–多表连接
/*
SELECT empno,ename,emp.deptno, dname,loc FROM emp,dept
WHERE emp.deptno=dept.dssseptno
AND loc =’CHIAGO’
*/
–2015年7月31日14:06:03
/SELECT FROM cust ord gift
WHERE c.custemid=o.custenid
AND o.giftid=g.giftid*/
/*
SELECT ename,sal,grade FROM emp,salgrade
WHERE emp.sal>=salgrade.loc
AND emp.sal<=salgrade.hisal
*/
–exce1
–1
–SELECT ename,dept.deptno,dname FROM emp ,dept
–2
/*SELECT ename,loc, comm FROM emp,dept
WHERE loc=’CHICAGO’
AND comm IS NOT NULL*/
–3
/*SELECT ename,loc FROM emp e,dept d
WHERE e.deptno=d.deptno
AND INSTR (UPPER(e.ename),’A’)>0
*/
–exce2
/*
SELECT empno ,ename ,sal , grade ,loc FROM emp ,dept,salgrade
WHERE emp.deptno=dept.deptno
AND emp.sal
BETWEEN salgrade.losal AND salgrade.hisal –非等值连接
AND emp.deptno IN (20,30)
ORDER BY grade ASC
*/
–SELECT * FROM emp FOR UPDATE
–SELECT * FROM emp e,dept d
–WHERE e.deptno(+) =d.deptno –(+)加在缺少匹配的表的一段
–SELECT e.empno ,e.ename,dname FROM emp e ,dept d
–WHERE e.deptno =d.deptno (+)
/SELECT d. , e.empno ,e.ename
FROM emp e,dept d
WHERE d.deptno =e.deptno(+)*/
–consider
–SELECT worker.ename ,manager.ename FROM emp worker, emp manager
–WHERE worker.mgr=manager.empno (+)
–exce3
–1
/*SELECT worker.ename worker,worker.empno wno,manager.ename manager ,manager.empno mno , loc FROM emp worker ,emp manager ,dept
WHERE loc IN (‘NEW YORK’,’CHICAGO’)
AND dept.deptno=worker.deptno
AND worker.mgr=manager.empno*/
–2
/*SELECT worker.ename worker,worker.empno wno,manager.ename manager ,manager.empno mno , loc FROM emp worker ,emp manager ,dept
WHERE loc IN (‘NEW YORK’,’CHICAGO’)
AND dept.deptno=worker.deptno
AND worker.mgr=manager.empno(+)*/
–3
/SELECT d. , e.empno ,e.ename
FROM emp e,dept d
WHERE d.deptno (+)=e.deptno*/
–ANSI99
/SELECT
FROM emp CROSS JOIN dept –笛卡尔乘积*/
–SELECT * FROM emp NATURAL JOIN dept –列数据类型相同
–SELECT * FROM emp JOIN dept ON emp.deptno =dept.deptno
–SELECT * FROM emp LEFT OUTER JOIN dept ON emp.deptno =dept.deptno
–SELECT * FROM emp ,dept WHERE emp.deptno =dept.deptno(+)
–exce4
–1
–SELECT * FROM emp NATURAL JOIN dept
–2
–SELECT ename ,d.dname ,hiredate ,deptno , deptno FROM emp e NATURAL JOIN dept d
–chapter 6分组函数
/*SELECT MAX(e.sal),MIN(e.sal),AVG(e.sal) ,COUNT(e.sal) ,SUM(e.sal)
FROM emp e*/
–SELECT SUM(DISTINCT sal ) ,AVG (DISTINCT sal) FROM emp
–SELECT COUNT(*) FROM emp where deptno =10
–SELECT COUNT(comm) FROM emp
–SELECT SUM(comm) FROM emp –除了count之外 全部忽略NULL值
–SELECT AVG (NVL(comm,0)) FROM emp
//作业
–chapter 2
–1
–SELECT * FROM emp
–SELECT * FROM dept
–SELECT * FROM salgrade
–2
/*DESC emp
DESC dept
DESC salgrade*/
–3
–SELECT DISTINCT deptno ,job FROM emp
–chapter 3
–1
/*SELECT ename , hiredate ,job FROM emp
WHERE hiredate>’09-7月-82’
AND job<>’SALESMAN’*/
–2
/*
SELECT ename FROM emp
WHERE ename LIKE ‘__A%’*/
–3
/*SELECT ename ,deptno FROM emp
WHERE deptno NOT IN (10,20)*/
–4
/SELECT FROM emp
WHERE deptno IN (30)
ORDER BY sal DESC , ename ASC*/
–5
/*SELECT ename FROM emp
WHERE mgr IS NULL*/
–6
/*SELECT ename ,sal ,deptno FROM emp
WHERE sal>4500
AND deptno IN (10,20)*/
–chapter 4
–1
–SELECT months_between(SYSDATE,’01-1月-00’) MONTHS , ROUND(SYSDATE-TO_DATE(‘2000-1月-1’, ‘YYYY-month-dd’))/7 WEEKS FROM dual
–2
–SELECT * FROM emp
–WHERE SUBSTR(ename,3,1)=’A’
–WHERE INSTR(ename,’A’,3,1)=3
–3
–SELECT TRIM (‘h’ FROM ‘Hello’) FROM dual
–SELECT TRIM (’ ’ FROM ’ Hello ‘) FROM dual
–SELECT TRIM (‘b’ FROM ‘bllb’) FROM dual
–SELECT TRIM (’ ’ FROM ’ hello ‘) FROM dual
–4
–SELECT to_char(sal,’999,999.00L’) FROM emp
–5
–SELECT ename ,NVL(to_char(mgr),’No manager’) FROM emp –参数类型匹配
–WHERE mgr IS NULL
–6
–SELECT to_char(hiredate,’mon/rr’) “mm/rr” FROM emp
–7
– SELECT ename ,sal ,DECODE(TRUNC(sal/1000),
– 0 , 0,
– 1 , sal*.1,
– 2 , sal*.15,
– sal*.2) TAX FROM emp
–8
–SELECT ename ,LPAD(sal,15,’$’) sal FROM emp
–chapter 5
–1
/*SELECT worker.ename 员工姓名,dname 部门名称,manager.ename 直接上级名称 FROM emp worker,emp manager ,dept d
WHERE worker.deptno=d.deptno
AND manager.deptno=d.deptno
AND manager.empno=worker.mgr
AND worker.ename =’SMITH’ */
–2
/*SELECT ename ,dname ,sal ,grade FROM emp e,dept d ,salgrade g
WHERE grade>4
AND e.deptno =d.deptno
AND e.sal BETWEEN g.losal AND g.hisal*/
–3
/*SELECT e.ename 员工,m.ename 经理 FROM emp e,emp m
WHERE m.ename IN (‘KING’,’FORD’)
AND e.mgr=m.empno*/
–4
/*SELECT e.ename ,e.hiredate ,m.ename FROM emp e,emp m
WHERE e.mgr=m.empno
AND e.hiredate
–SELECT *FROM emp WHERE deptno=’10’
–字符自动转为数值
–SELECT *FROM emp
–WHERE 1=’1’7
–SELECT 1+’1’ FROM dual
–以上隐式转换
–以下显式转换
–to_char to_date to_number
–SELECT to_char (hiredate) FROM emp
/*
SELECT ename ,hiredate ,
to_char(hiredate,’YYYY’)YYYY,
to_char(hiredate,’ YEAR’) YEAR,
to_char(hiredate,’ MONTH’) MONTH,
to_char(hiredate,’ MM’) MM,
to_char(hiredate,’ DD’) DD,
to_char(hiredate,’ DAY’) DAY,
to_char(hiredate,’ DY’) DY,
to_char(hiredate,’ HH24:MI:SS’) “HH24:MI:SS”,
to_char(hiredate,’ DD”of”MONTH’) “DDofMONTH”
FROM emp
*/
–SELECT sal,to_char(sal,’$99,999’)FROM emp
–SELECT to_number (‘1111.111’,’9999.999’) FROM dual
–SELECT TO_DATE (‘12-2-12’,’RR-DD-MM’) FROM dual
–exce6
–1
–SELECT to_char(SYSDATE,’yyyy-mm-dd hh24:mi:SS’) FROM dual
–2
–SELECT ename ,hiredate,to_char(hiredate,’DAY’) DAY FROM emp
–3
–SELECT ename ,sal , TO_char(sal,’L999,999.99’) from emp
–4
–SELECT TO_DATE(‘2015-3月-18 13:13:13’, ‘YYYY-month-dd hh24:mi:SS’) ,SYSDATE-TO_DATE(‘2015-3月-18 13:13:13’, ‘YYYY-month-dd hh24:mi:SS’) FROM dual
–2015年7月31日10:04:34
–NVL
–SELECT sal*12+NVL(comm,0) FROM emp
–SELECT sal*12 +NVL2(comm,comm+1,1) FROM emp
/*SELECT ename ,deptno ,
(CASE deptno
WHEN 10 THEN ‘sale’
WHEN 20 THEN ‘tech’
WHEN 30 THEN ‘mgr’
ELSE ‘NO’ END)
deptname
FROM emp*/
/*SELECT ename ,deptno ,
DECODE(deptno,
10,’sale’ ,
20,’tech’,
30,’mgr’,
‘no’)deptname
FROM emp*/
–SELECT ename ,NVL(to_char(mgr),’No manager’) FROM emp –参数类型匹配
–WHERE mgr IS NULL
–homework
–5
–SELECT ename ,NVL(to_char(mgr),’No manager’) FROM emp –参数类型匹配
–WHERE mgr IS NULL
–7
–SELECT ename ,sal ,DECODE(TRUNC(sal/1000),
– 0 , 0,
– 1 , sal*0.1,
– 2 , sal*0.15,
– sal*.2) TAX FROM emp
–多表连接
/*
SELECT empno,ename,emp.deptno, dname,loc FROM emp,dept
WHERE emp.deptno=dept.dssseptno
AND loc =’CHIAGO’
*/
–2015年7月31日14:06:03
/SELECT FROM cust ord gift
WHERE c.custemid=o.custenid
AND o.giftid=g.giftid*/
/*
SELECT ename,sal,grade FROM emp,salgrade
WHERE emp.sal>=salgrade.loc
AND emp.sal<=salgrade.hisal
*/
–exce1
–1
–SELECT ename,dept.deptno,dname FROM emp ,dept
–2
/*SELECT ename,loc, comm FROM emp,dept
WHERE loc=’CHICAGO’
AND comm IS NOT NULL*/
–3
/*SELECT ename,loc FROM emp e,dept d
WHERE e.deptno=d.deptno
AND INSTR (UPPER(e.ename),’A’)>0
*/
–exce2
/*
SELECT empno ,ename ,sal , grade ,loc FROM emp ,dept,salgrade
WHERE emp.deptno=dept.deptno
AND emp.sal
BETWEEN salgrade.losal AND salgrade.hisal –非等值连接
AND emp.deptno IN (20,30)
ORDER BY grade ASC
*/
–SELECT * FROM emp FOR UPDATE
–SELECT * FROM emp e,dept d
–WHERE e.deptno(+) =d.deptno –(+)加在缺少匹配的表的一段
–SELECT e.empno ,e.ename,dname FROM emp e ,dept d
–WHERE e.deptno =d.deptno (+)
/SELECT d. , e.empno ,e.ename
FROM emp e,dept d
WHERE d.deptno =e.deptno(+)*/
–consider
–SELECT worker.ename ,manager.ename FROM emp worker, emp manager
–WHERE worker.mgr=manager.empno (+)
–exce3
–1
/*SELECT worker.ename worker,worker.empno wno,manager.ename manager ,manager.empno mno , loc FROM emp worker ,emp manager ,dept
WHERE loc IN (‘NEW YORK’,’CHICAGO’)
AND dept.deptno=worker.deptno
AND worker.mgr=manager.empno*/
–2
/*SELECT worker.ename worker,worker.empno wno,manager.ename manager ,manager.empno mno , loc FROM emp worker ,emp manager ,dept
WHERE loc IN (‘NEW YORK’,’CHICAGO’)
AND dept.deptno=worker.deptno
AND worker.mgr=manager.empno(+)*/
–3
/SELECT d. , e.empno ,e.ename
FROM emp e,dept d
WHERE d.deptno (+)=e.deptno*/
–ANSI99
/SELECT
FROM emp CROSS JOIN dept –笛卡尔乘积*/
–SELECT * FROM emp NATURAL JOIN dept –列数据类型相同
–SELECT * FROM emp JOIN dept ON emp.deptno =dept.deptno
–SELECT * FROM emp LEFT OUTER JOIN dept ON emp.deptno =dept.deptno
–SELECT * FROM emp ,dept WHERE emp.deptno =dept.deptno(+)
–exce4
–1
–SELECT * FROM emp NATURAL JOIN dept
–2
–SELECT ename ,d.dname ,hiredate ,deptno , deptno FROM emp e NATURAL JOIN dept d
–chapter 6分组函数
/*SELECT MAX(e.sal),MIN(e.sal),AVG(e.sal) ,COUNT(e.sal) ,SUM(e.sal)
FROM emp e*/
–SELECT SUM(DISTINCT sal ) ,AVG (DISTINCT sal) FROM emp
–SELECT COUNT(*) FROM emp where deptno =10
–SELECT COUNT(comm) FROM emp
–SELECT SUM(comm) FROM emp –除了count之外 全部忽略NULL值
–SELECT AVG (NVL(comm,0)) FROM emp
//作业
–chapter 2
–1
–SELECT * FROM emp
–SELECT * FROM dept
–SELECT * FROM salgrade
–2
/*DESC emp
DESC dept
DESC salgrade*/
–3
–SELECT DISTINCT deptno ,job FROM emp
–chapter 3
–1
/*SELECT ename , hiredate ,job FROM emp
WHERE hiredate>’09-7月-82’
AND job<>’SALESMAN’*/
–2
/*
SELECT ename FROM emp
WHERE ename LIKE ‘__A%’*/
–3
/*SELECT ename ,deptno FROM emp
WHERE deptno NOT IN (10,20)*/
–4
/SELECT FROM emp
WHERE deptno IN (30)
ORDER BY sal DESC , ename ASC*/
–5
/*SELECT ename FROM emp
WHERE mgr IS NULL*/
–6
/*SELECT ename ,sal ,deptno FROM emp
WHERE sal>4500
AND deptno IN (10,20)*/
–chapter 4
–1
–SELECT months_between(SYSDATE,’01-1月-00’) MONTHS , ROUND(SYSDATE-TO_DATE(‘2000-1月-1’, ‘YYYY-month-dd’))/7 WEEKS FROM dual
–2
–SELECT * FROM emp
–WHERE SUBSTR(ename,3,1)=’A’
–WHERE INSTR(ename,’A’,3,1)=3
–3
–SELECT TRIM (‘h’ FROM ‘Hello’) FROM dual
–SELECT TRIM (’ ’ FROM ’ Hello ‘) FROM dual
–SELECT TRIM (‘b’ FROM ‘bllb’) FROM dual
–SELECT TRIM (’ ’ FROM ’ hello ‘) FROM dual
–4
–SELECT to_char(sal,’999,999.00L’) FROM emp
–5
–SELECT ename ,NVL(to_char(mgr),’No manager’) FROM emp –参数类型匹配
–WHERE mgr IS NULL
–6
–SELECT to_char(hiredate,’mon/rr’) “mm/rr” FROM emp
–7
– SELECT ename ,sal ,DECODE(TRUNC(sal/1000),
– 0 , 0,
– 1 , sal*.1,
– 2 , sal*.15,
– sal*.2) TAX FROM emp
–8
–SELECT ename ,LPAD(sal,15,’$’) sal FROM emp
–chapter 5
–1
/*SELECT worker.ename 员工姓名,dname 部门名称,manager.ename 直接上级名称 FROM emp worker,emp manager ,dept d
WHERE worker.deptno=d.deptno
AND manager.deptno=d.deptno
AND manager.empno=worker.mgr
AND worker.ename =’SMITH’ */
–2
/*SELECT ename ,dname ,sal ,grade FROM emp e,dept d ,salgrade g
WHERE grade>4
AND e.deptno =d.deptno
AND e.sal BETWEEN g.losal AND g.hisal*/
–3
/*SELECT e.ename 员工,m.ename 经理 FROM emp e,emp m
WHERE m.ename IN (‘KING’,’FORD’)
AND e.mgr=m.empno*/
–4
/*SELECT e.ename ,e.hiredate ,m.ename FROM emp e,emp m
WHERE e.mgr=m.empno
AND e.hiredate
相关文章推荐
- Oracle10g 安装方法
- 安装Oracle10g遭遇ins_ctx.mk问题解决方法
- 修改计算机名或IP后Oracle10g服务无法启动的解决方法
- oracle 10g 快照操作方法
- Oracle10g通过DBLink访问MySQL示例
- Oracle10g Flashback 新特性
- Oracle10g下载地址--多平台下的32位和64位
- oracle10g 启动时报错:ORA-32004 ORA-19905
- oracle10g on AIX 调优笔记
- oracle10g数据类型
- Redhat RHEL AS3 下安装 Oracle DB 10g 中文乱码问题的解决
- Oracle11g 新特性更适合中型企业
- 倒霉的ORACLE10G管理员
- CLOB处理的处理简化
- Oracle中的大字段
- 在CentOS5上安装oracle10g
- 简单oracle10g测试库的建立
- oracle10g em Database Control的启动问题修复
- 我的异常网 -异常汇总2009-11-28
- oracle database link