ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:71KB ,
资源ID:3520399      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3520399.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Oracle_SQL语句大全.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

Oracle_SQL语句大全.doc

1、 Oracle SQL 语句大全2009-04-13 15:391.desc(描述) emp 描述 emp 这张表2.desc dept 部门表3.desc salgrade 薪水等级4.select *from table 查找表中的元素5.dual 是系统中的一张空表6.select *from dual7.select sysdate from dual 取出系统时间8.select ename,sal*12 “annul sal“(取的别名) from emp; 查找用户姓名和用户的年薪9.任何含有空值的数学表达式的值都是空值select ename,sal*12+comm from

2、emp;10.select ename|sal from emp 其中的|相当于将 sal 全部转化为字符串11.表示字符串的方法select ename |ajjf from emp;12.如果其中有一个单引号就用2个单引号来代替他select ename|sakj ldsfrom emp;13.select distinct deptno from emp (去除部门字段中重复的部分 ,关键字 distinct)14.select distinct deptno,job from emp;(去除这2个字段中重复的组合)15.select *from dept where deptno=10

3、; 取出条件(取出部门编号为 10的记录)16.select * from emp where ename=CLIRK; 取出部门中姓名为 clirk 的记录(注意取出过程中ename 用单引号隔开)17.select ename,sal from emp where sal1500; 取出部门中薪水大于 1500的人的姓名18.select ename,sal,deptno from emp where deptnoCBA 取出部门中员工名字大于 CBA 的员工(实际比较的是 ACIIS 码)20.select ename,sal from emp where sal between 800

4、 and 1500select ename,sal from emp where sal=800 and sal3-04月-81;宣传符合条件的日期24.select ename,sal,from emp where sal1000 or deptno=10; 找出工资薪水大于1000或者部门号等于10的员工25.select ename,sal from emp where sal not in(500,1000); 查找薪水不在500到1000的员工姓名和月薪26.select ename,sal from emp where ename like %ALL%;select ename,s

5、al from emp where ename like _%A%; 查找姓名中含有 ALL 的客户信息,一个横线代表一个通配符27.select ename,sal from emp where ename like _%$% escape $; 自己指定转易字符select ename,sal from emp where ename like _%; 查找中间含有%相匹配的客户信息,运用转易字符28.select * from dept order by deptno 对表中元素按部门号排序select *from dept order by deptno desc 默认为升序,可以用

6、desc按降序29.select ename,sal from emp where sal 800 order by sal desc31.select lower(ename) from emp 将 ename 都转化为小写 lower 是函数能将字母转化为小写32.select ename from emp where lower(ename) like _%a%; 找出 ename 中所有的含有 a 的字符33.select substr(ename,2,3) form emp 从第2个字符开始截取 3个字符34.select chr(65) from dual; 将65转化为字符35.

7、select ascii(A) from dual 将 ACSII 码转化为字符串36.select round(23.565)from dual 四舍五入36.select round(23,4565,2)from dual 四舍五入到第二位37.select to_char(sal,$99.999.9999) from emp 按指定格式输出select to_char(sal,L99,999,9999) form emp L 代表本地字符38.select hiredate from empselect to_char(hiredate,YYYY-MM-DD HH:MI:SS) from

8、 emp; 时间格式的显示select to_char(sysdate,YYYY-MM-DD HH:MI:ss) from dual; 十二小时制显示系统时间select to_char(sysdate,YYYY-MM-DD HH24:MI:SS) from dual 二四小时制显示系统时间39.select ename,hiredate from emp where hiredate to_date(2005-2-3 12:32:23,YYYY-MM-DD HH:MI:SS);40 select sal from emp where salto_number($1,250.00,$9,999

9、.99); 取出比它大的一切字符串(把特定格式的数字转化成字符)41 select ename,sal+nvl(comm,0) from emp; 讲 comm 值为空的用0来替换,单行函数(以一条记录为条件)一条对一条42.select Max(sal) from emp;select Min(sal) from emp;select avg(sal) from emp;select sum(sal) from emp;select count(*) from emp; 查看表中一共有多少条记录select count(*) from emp where deptno=10; 查找部门10一

10、共有多少人;43.select avg(sal),deptno from emp group by deptno; 按部门号进行分组select deptno,job,max(sal) from emp group by job,deptno; 按工作和部门号进行分组;44.select ename from emp where sal=(select max(sal) from emp); 子查询,查找部门中薪水最高的员工姓名45.group by 注意:出现在 select 列表中的字段,如果没有出现在组函数中必须出现在 group by 子句中46.select avg(sal),dep

11、tno from emp group by deptno having avg(sal)2000; 选出部门中平均薪水大于2000的部门,47.select * from emp where sal100 group by deptno having .order by.先取数据-过滤数据-分组- 对分组限制- 排序48.select avg(sal) from emp where sal2000 group by deptno having avg(sal)1500 order by avg(sal) desc;查找部门中平均薪水打印2000的员工并按部门号进行排序,查询分组后的平均薪水必须

12、大于1500,查询结果按平均薪水从低到高排列49.select ename from emp where sal(select avg(sal) from emp);查找出员工中薪水位于部门平均薪水之上的所有员工50.select ename,sal from emp join(select max(sal) max_sal from emp group by deptno) t on(emp.sal=t,max_sal and emp.deptno=t.deptno);查找每个部门中薪水最高的51.select e1.ename,e2.ename from emp e1,emp e2 whe

13、re e1.mgr=e2.empno; 表的自连接52.select dname,ename from emp cross join dept 交叉连接,笛卡尔SQL99中的新语法53.select ename,dname from emp join dept on(emp.deptno=dept.deptno);54.select ename,dname from emp join dept using(deptno); 查找 emp 和 dept 表中deptno 相同的部分。55.select ename,dname,grade from emp e join dept d on(e.d

14、eptno=d.depno)join salgrade s(e.sal between s.losal and s.hisal) (三表查找)where ename not like _%A%;56.select e1.ename,e2.ename from emp e1 join emp e2 on(e1.mgr=e2.deptno); 表的自连接57.select e1.ename,e2.ename from emp e1 left join emp e2 on(e1.mgr=e2.deptno) 左外表连接select ename,dname from emp e right join

15、dept d on(e.deptno=d.deptno)右外连接select ename,dname from emp e full join dept d on(e.deptno=d.deptno)全连接58.求部门中薪水最高的select ename,sal from emp join (select max(sal) max_sal, deptno from emp group by deptno) ton (emp.sal=t.max_sal and emp.deptno=t.deptno);59.求部门中薪水等级的平均值select deptno,avg(grade) from(se

16、lect deptno,ename,grade,from emp join salgrade s on(emp.sal between s.losal and s.hisal)t group by deptno;60.查找雇员中哪些是经理人select ename from emp where empno in(select mgr from emp);61.select distinct e1.sal from emp e1 join emp e2 on(e1.sal set serveroutput on;SQL begin(必要的-程序开始执行)2 dbms_output.put_lin

17、e(hello world);3 end;(结束 )4 /例子2:SQL declare2 v_name varchar2(20);3 begin4 v_name:=myname;5 dbms_output.put_line(v_name);6 end;7 /myname例子3:SQL declare2 v_num number:=0;3 begin4 v_num:=2/v_num;5 dbms_output.put_line(v_num);6 end;7 /declare*ERROR 位于第 1 行:ORA-01476: 除数为 0ORA-06512: 在 line 4例子4:declare

18、v_num number:=0;beginv_num:=2/v_num;dbms_output.put_line(v_num);exceptionwhen others thendbms_output.put_line(error);end;/变量声明的规则1.变量名不能够使用保留字,如 from,select 等2.第一字符必须是字母。3.变量名最多包含30个字符4.不要与数据库的表或者列同名5.每一行只能声明一个变量常用变量类型1. binary_interger,整数,主要用来计数,而不是用来表示字段类型2. number 数字类型3. char 定长字符串4. varchar2 变长字

19、符串5. date 日期6.long 长字符串,最长2GB7.boolean 布尔类型,可以取 true false 和 null 的值例5:declarev_temp number(1);v_count binary_integer:=0;v_sal number(7,2):=4000.00;v_date date:=sysdate;v_pi constant number(3,2):=3.14;v_valid boolean:=false;v_name varchar2(20) not null:=myname;begindbms_output.put_line(v_temp value:

20、|v_temp);end;用-可以注释一行例6:declarev_empno number(4);v_empno2 emp.empno%type;v_empno3 v_empno2%type;begindbms_output.put_line(test);end;例7table 变量类型set serveroutput on;declaretype type_table_emp_empno is table of emp.empno%type index by binary_integer;v_empnos type_table_emp_empno;beginv_empnos(0):=7369

21、;v_empnos(2):=7869;v_empnos(-1):=9999;dbms_output.put_line(v_empnos(-1);end;例8Record 变量类型set serveroutput on;declaretype type_record_dept is record(deptno dept.deptno%type,dname dept.dname%type,loc dept.loc%type);v_temp type_record_dept;beginv_temp.deptno:=50;v_temp.loc:=aaaa;v_temp.loc:=bj;dbms_out

22、put.put_line(v_temp.deptno| |v_temp.dname);end;例9:使用%rowtype 声明 record 变量(表结构的变化同时也能代理储存过程的变化)set serveroutput on;declarev_temp dept%rowtype;beginv_temp.deptno:=50;v_temp.loc:=aaaa;v_temp.loc:=bj;dbms_output.put_line(v_temp.deptno| |v_temp.dname);end;例10;declarev_name emp.ename%type;v_sal emp.sal%ty

23、pe;beginselect ename,sal into v_name,v_sal from emp where empno=7369;(将 ename 和 sal 的值放在v_name 和 v_sal 里面)例11:declarev_name emp.ename%type;v_sal emp.sal%type;beginselect ename,sal into v_name,v_sal from emp where empno=7369;dbms_output.put_line(v_name| |v_sal);end;dbms_output.put_line(v_name| |v_sal

24、);end;例12:declarev_deptno dept.deptno%type:=50;v_dname dept.dname%type:=aaaa;v_loc dept.loc%type:=bj;begininsert into dept2 values(v_deptno,v_dname,v_loc);commit;end;例13:declarev_deptno emp2.deptno%type:=50;v_count number;beginupdate emp2 set sal=sal/2 where deptno=v_deptno;dbms_output.put_line(sql%

25、rowcount |条记录被影响);(sql 为关键字,代表上一条语句commit;end;/例14:declarev_deptno emp2.deptno%type:=50;v_count number;begin-update emp2 set sal=sal/2 where deptno=v_deptno;select deptno into v_deptno from emp2 where empno=7369;dbms_output.put_line(sql%rowcount |条记录被影响);(sql 为关键字,代表上一条语句commit;end;/例15declarev_dept

26、no emp2.deptno%type:=50;v_count number;begin-update emp2 set sal=sal/2 where deptno=v_deptno;-select deptno into v_deptno from emp2 where empno=7369;select count(*) into v_count from emp2; (select 必须和 into 一起使用)dbms_output.put_line(sql%rowcount |条记录被影响);commit;end;/PL/SQL 里面执行 DDL 语句beginexecute immediate create table T(nnn varchar2(20) default aaa);end;PL/SQL 的分支语句:declarev_sal emp.sal%type;beginselect sal into v_sal from empwhere empno=7369;

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。