oracle12c
q1054261752
这个作者很懒,什么都没留下…
展开
-
数据表的自身连接
原创 2015-11-04 20:45:52 · 592 阅读 · 0 评论 -
select语句的两种不等于的写法
select *from empwhere deptno或者我们可以用下面的select *from empwhere deptno!=30;原创 2015-10-27 21:40:39 · 3611 阅读 · 0 评论 -
sqlplus的显示问题
当查寻数据表的时候,会发生折行的问题这时,我们可以用下面的语句设置每行显示的记录长度:set linesize 300; ---> 每行显示300个字符。设置每页显示的记录长度:set pagesize 30; ---->每页显示30行记录。oracle的局部格式化: 在sqlplus中输入:select * fro原创 2015-10-27 20:45:57 · 1255 阅读 · 0 评论 -
开始使用oracle12c之间
由于12c有的,cpd和pdb的区分,系统默认数据库scott、sh都在pdb中,所以在使用之前,我们需要在cdb下面创建一个用户,12c要求,用户创建的用户必须有以c##开头,按以下的步骤完成c##scott用户的创建:运行:sqlplus/nolog进入命令行,执行一面语句-- 使用超级管理员登录CONN sys/change_on_install AS SYSDBA ;原创 2015-10-27 20:59:24 · 592 阅读 · 0 评论 -
like语句‘%%'
用下划线_可以限定查找的内容的长度,’%%‘表示查找全部的数据。原创 2015-10-27 23:04:00 · 573 阅读 · 0 评论 -
oracle连接数据库的语句和常用语句
1.使用SYS用户登录。conn sys/change_on_install as sysdba; 2.在sys用户中查询其它用户的表select * from c##scott.emp;3.实验完成后,连接普通用户(普通用户不用加as sysdba)conn c##scott/tiger;4.查看dept的表结构。desc d原创 2015-10-27 21:03:07 · 3425 阅读 · 0 评论 -
常用关系运算符
转载 2015-10-27 23:17:32 · 421 阅读 · 0 评论 -
关于oracle下标的问题
由于Oracle数据库设计的灵活性,所以其下标是从0或从1开始都是一样的,即如下两段代码的运行结果完全相同。例1.下标从0开始select ename,substr(ename,0,3) from emp;例2.下标人1开始select ename,substr(ename,1,3) from emp;同时,oracle还支持负下标的问题select ename原创 2015-10-30 21:54:50 · 3295 阅读 · 0 评论 -
数值函数round函数的使用
验证round()函数的使用select round(789.2323) 不保留小数,round(789.656,2) 保留两位小数,round(349.3434,-1) 处理小数进位 from dual;原创 2015-10-30 22:04:37 · 2561 阅读 · 0 评论 -
Oracle数据库当前的nls_date_format参数值查询及设置
来源:http://blog.sina.com.cn/s/blog_ebc0660c0102v969.html1、查询nls_date_format1)select * from nls_session_parameters where parameter = 'NLS_DATE_FORMAT';显示:NLS_DATE_FORMAT DD-MON-RR2)转载 2015-10-31 09:44:10 · 1353 阅读 · 0 评论 -
关于oracle数据库的隐式转换的操作
由于oracle数据库制作得比较智能,所以各个数据库类型之间除了使用转换函数这些显式转换之外,也存在着各种隐式的转换规则,这些常用规则如下: 1.字符型(varchar2, varchar)如果由数字组成,则可以直接转换成数字(number)。 2.字符型(varchar2, varchar)如果按照指定的日期格式(例如:“08-9月-81”)则可以自动转换为date类转载 2015-10-31 10:57:11 · 2214 阅读 · 0 评论 -
oracle之通用函数decode()
decode函数是Oracle中最有特色的一个函数,它类似于程序中的if....else if...else if....else if.....else,但是判断的内容都是一个具体的值。decode()函数的语法如下:原创 2015-11-01 21:25:08 · 404 阅读 · 0 评论 -
多表查询的性能很低
我们可以使用SH用户进行登陆,首先确认出sales和costs表中的数据。select count(*) from sales;有918843条数据。select count(*) from costs;将sales和costs两张表关联查询,同时设置消除笛卡尔积的条件。(这里并没有消除,只是显示没有笛卡尔积了)。select count(*)原创 2015-11-02 23:45:54 · 556 阅读 · 0 评论 -
Oracle中如何显示当前的所有用户表
显示某用户的有表(例如scott,必须大写)select TABLE_NAME FROM all_tables where owner = 'SCOTT';显示当前数据库的所有表select * from user_tables;显示当前数据表空间名;select * from tab; 你要以采用sys用户登陆select t转载 2016-01-11 09:45:06 · 4196 阅读 · 0 评论 -
使用“||”完成字符串的连接 和“'”的使用
select '编号是:' || empno || '的雇员姓名是:' || ename || ',基本工资是:' || sal 雇员信息 from emp;在SQL语句中用" ' "括起来的内容就是一个字符串的常量,所有的字符串都必须按照此种语法编写,但是在设置别名的时候不用加入,因为它设置的不是显示的内容,而是显示列的名称。原创 2015-10-27 21:26:11 · 582 阅读 · 0 评论 -
WITH子句定义一张临时表
WITH子句提供一种定义临时表的操作方法,如果在一个查询中反复使用到一些数据,那么就可以将这些数据定义在WITH子句中。 WITH e AS (select * from emp //将emp表中数据定义为一个临时表 ) select * from e; //使用临时表原创 2015-11-11 21:47:40 · 1030 阅读 · 0 评论 -
范围判断in 和not in
相比多个条件的and更简单原创 2015-10-27 22:34:18 · 473 阅读 · 0 评论 -
表的两种连接方式
内连接:也称为等值连接(或称连接,还可以被称为普通连接或者自然连接),是最早的一种连接方式,内连接是从结果表中删除与其他被连接表中没有匹配行的所有无组,所以当匹配条件不满足时内连接可能会丢失信息。在where子句中设置的消除笛卡积的条件就是采用了等值判断的方式进行的。外连接:内连接中只能显示等值满足的条件,不满足的条件则无法显示,如果现在希望特定表中的数据可以全部显示,就利用外连接,外原创 2015-11-04 20:26:03 · 896 阅读 · 0 评论 -
数据的集合运算----几个单表查询的关系(高性能查询)
1、并 集操作union(不显示重复)、union all(显示重复)提示: 使用UNION或UNION ALL代替ORor操作表示多个限定条件有一个满足即可,但是从性能上来讲,通过UNION、UNION ALL要比直接使用OR性能快很多。2.差集操作:MINUS主要的功能是显示两个查询结果中不同的部分。格式上面的一样。3.交集的操作:INTER原创 2015-11-06 10:47:18 · 519 阅读 · 0 评论 -
在使用分组操作时的几个注意事项
注意事项一:如果没有groub by子句,则在select子句中只允许出现统计函数,其他任何字段都不允许出现。错误范例:select deptno,count(empno) from emp; 这样会造成字段列,和统计列的长度不一至,这是不允许的。正确范例:select count(empno) from emp;注意事项二:在统计查询中转载 2015-11-07 16:24:27 · 3474 阅读 · 1 评论 -
数据表不没有数据的时候,各个统计函数返回的值
注意:使用count()函数统计时,即使表中没有数据也会返回结果,结果为0;下面的查询,可以看出count()函数与其它的几个函数的区别。转载 2015-11-07 17:17:52 · 595 阅读 · 0 评论 -
sql:1999语法
Oracle数据据也支持最新的SQL:1999语法标准的数据库,对于数据库的查询,可以使用如下语法。1.交叉连接(这个是有笛卡尔积的运算)cross join2.自然连接(等值连接)natural join3.USING子句,直接使用join进行连接,同时指定关联的列。select *from emp join using(deptno)原创 2015-11-05 22:24:52 · 1376 阅读 · 0 评论 -
关于count()函数一些问题
在使用count()函数的时候,可以使用通配符“*”,也可以使用一个字段,这两者在一列不为null数据列(这个字段不会重复且没有数据为null)使用的时候没有任何的区别,但当数据为null时就会出现问题。在实际运用统计函数的时候我们习惯上, 在主键上(没重复列的字段上使用统计函数)count(*)、count(字段)、count(distinct字段)的使用区别转载 2015-11-06 20:22:14 · 865 阅读 · 0 评论 -
sql子句的执行顺序
子句的顺序:from :先确定数据来源where:根据条件来确定临时表group by:根据要求,是否需的,根据某个重复的字段进行分组。select:开始查询order by:对查询的结果进行,排序。转载 2015-11-07 15:27:18 · 315 阅读 · 0 评论 -
where子句与having子句的区别
where子句:是在分组之前使用,表示从所有数据中筛选出部分数据,以完成分组的要求, 在where子句中不允许使用统计函数,没有group by子句也可以使用。having子句:是在分组之后使用的,表示对分组统计后的数据执行再次过滤,可以使用 统计函数,有group by子句之后才可以出现havi转载 2015-11-08 22:09:22 · 4059 阅读 · 0 评论 -
子查询的分类
子查询可以返回的数据类型一共分以下4种:单行单列:返回的是一个具体列的内容,可以理解为一个单值数据。单行多列:返回一行数据中多个列的内容。多行单列:返回多行记录中同一列的内容,相当于给出一个操作范围。多行多列:查询返回的结果是一张临时表。 子查询几乎可以出现在一条查询语句的任意位置上,不过在from、where、having子句中出现较多,而且在子查中一定要使用“()”转载 2015-11-10 19:56:44 · 4030 阅读 · 0 评论 -
在where子句中使用子查询
这里有三种查询的结构:单行单列、单行多列、多行单列1.子查询返回单行单列数据例如:查询出基本工资比ALLEN低的全部雇员信息。步骤一:找出ALLEN的工资步骤二:此时的查询返回的是单行单列的数据,这样子查询往往出现在where子句 或having子句中,根据题目的要求在where子句中使用此查询。 2.子查返回单行多列数据此时需要使用括号声明这原创 2015-11-10 22:24:56 · 15533 阅读 · 0 评论 -
关于cdb与pdb原始用户的问题
关于原始用户问题 一直在强调一点:现在的Oracle12c中,虽然选择了要进行样本数据人创建,不过遗憾的是,发现根本就没有出出scott、sh用户。 scott和sh用户真实存在,现在也在数据库里面,可是默认情况下用户所有操作的数据都保存在CDB,而且在这里面的用户名称必须以c##开头,例如:c##scott。第一步:需要使用sys登录。conn sys/change_on_ i原创 2015-10-25 15:23:04 · 2004 阅读 · 1 评论 -
空数据判断EXISTS
SQL中提供了一个EXISTS结构用于判断子查询是否有数据返回。如果子查询不有数据返回,则EXISTS结构返回TRUE,反之返回FALSE。存在:select *from empwhere EXISTS(select * from emp原创 2015-11-10 22:49:40 · 395 阅读 · 0 评论 -
判断一个字段为null
在oracle中判断一个字段为空不能使用关系运算符:例如:select * from ename!=null;或select * from ename=null;这样是查不出结果的。我们可以使用:is null 和 is not null ( 也可以使用is null对其求反:not is null)select * f原创 2015-10-27 22:08:48 · 1076 阅读 · 0 评论 -
Oracle数据库,实例,表空间,用户,表之间的关系简析
一、数据库 我们在安装Oracle数据库时,会让我们选择安装启动数据库(即默认的全局数据库)如下图:全局数据库名:就是一个数据库的标识,在安装时就要想好,以后一般不修改,修改起来也麻烦,因为数据库一旦安装,数据库名就写进了控制文件,数据库表,很多地方都会用到这个数据库名。启动数据库:也叫全局数据库,是数据库系统的入口,它会内置一些高级权限的用户如SYS,SYSTEM等。我们用这些高级转载 2016-01-11 13:38:13 · 1819 阅读 · 0 评论