- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
oracle基础操作.
Sql基本查询语句:
花了一天时间整理,oracle 前两天讲的总结,时间仓促,难免会出错.
/代表执行上一条sql语句 ed 导出当前sql语句到文本文档
sql语句类型:
dml语句:data manipulation language 数据库操作语言 :insert update delete select
ddl语句:data definition language 数据定义语言:carete/alter/drop/truncte table和create/drop view,sequence,index, synonym
dcl语言:data control language 数据库控制语言 commit rollback
1;show user 显示当前用户
2;select * from tab;显示当前用户下所有的表
3;desc 表名 显示表的结构,列名和类型
4;查询所有信息 select * from 表名
Select 列1 as “别名1”,列2 “别名2”,列3 别名3 from 表名
其中, 第三种情况, 不能含有特殊关键字.如: from
5;设置行宽:set linesize (数字代表宽)
设置列宽:col (列名) for (宽)
设置一页显示的数据数量:set pagesize 数值
6;查询列名中,可以使用表达式(年工资+奖金),如果表达式中,某一行(奖金)为null,则计算出来的值也为null.使用去null函数nvl()
Nvl函数格式nvl(列名,值1) 表示,当此列为空时,就把值设置为值1
Nvl2函数格式Nvl2 (a,b,c) 当a=null时 返回c 否则返回b
把null值作为where判断的一个条件,不是使用 comm=null,而是使用is 来判断,comm is null 或是 comm is not null
7;去除重复记录:distinct
例子: select DISTINCT deptno from emp
注意:distinct作用于后边所有的列:
例子:select distinct deptno,job from emp
就是把员工部门和工作都去除重复.
8;连接符:concat 用于连接字符串(字符串和日期使用单引号包含)
并且||就相当于java中的+ 也用于连接字符串
9;伪表:dual
过滤和排序
1;条件:where使用and和or连接多个条件,执行顺序又右向左,看提高sql效率的方法.
2;日期 默认的日期格式为:(DD-MON-RR)17-11月-81 即1981年11月17日
在按日期查询的时候,会把字符串类型自动转换为日期类型,不过要求这个字符串类型要符合格式.
例如:select * from emp where hirdate=” 17-11月-81”
通过select sysdate from dual 可以查询当前系统日期;
通过select * from v$nls_parameters 查看当前系统信息; 其中NLS_DATE_FORMAT代表的是系统日期格式;可以通过alter session set NLS_DATE_FORMAT=”yyyy-mm--dd”更改会话层的日期格式设置;
3;between ..and 可以查询符合一段关系的信息
--查询工资在1000到2000之间的员工信息
select * from emp where sal between 1000 and 2000;
注意:between 值1 and 值2 其中要求值1必须比值2小;
包含值1和值2 这两个边界.
4;in ()和not in()
表示在..之内.
--查询部门编号为10和20的员工信息
Select * from emp where deptno in (10,20)
注意:如果集合内含有null值,则不能使用not in () 但是可以使用in()
原因:not in null,就是一定会成立的值,所有就不存在判断条件
5;like 模糊查询 _代表一个字符 % 代表匹配多个字符
--查询名字以s开头的姓名:s%
--查询名字是四个字组成的姓名:____
特殊的,如果名字内含有特殊字符(_和%) 使用自定义的转义字符,一般定义为\使用关键字escape
例子:查找姓名内含有_字符的人名
Ename like “%\_%” escape “\”
6;order by 排序 desc 降序,asc 升序
可以放在order by 后边的有:列名,表达式,别名,序号(在select内查询的序号,从1开始)
--按照工资排序
select * from emp e order by sal(e或1) de
文档评论(0)