Oracle表的查询(一)

表查询
关键字、字段、表名不加引号时不区分大小写
引号定义的内容区分大小写
运算中有null值时,结果为null
*nvl(字段,赋值):如果字段值为null,则取后面一个值
*like 关键字:%表示若干个字符,_代表一个字符
in 关键字:in(条件集合)
order by:排序
别名 : 中文加“”
分组: group by
max():对字段取最大值
min(): 对字段取最小值
having :对分组的结果进行限制操作
where :对源数据进行限制操作
sum():对字段求和
avg():对字段求平均值
count():统计数据数量
分组函数只能出现在选择列、having、order by字句
字句顺序:group by,having ,order by
规定:多表查询时,条件至少不能少于表的个数-1(排除笛卡尔集)
between and:字段 between a1 and a2 (字段在a1-a2之间)
自连接:同一张表的连接查询
子查询:嵌套查询(在sql中嵌入的select语句),分为单行/多行子查询
all用法:select ename,sal,deptno from emp where sal>all (select sal from emp where deptno=30);
any用法:select ename,sal,deptno from emp where sal>any (select sal from emp where deptno=30);
多行子查询:select * from emp where (deptno,job) = (select deptno,job from emp where ename = ‘SMITH‘);
经典逻辑示例(显示工资高于自己部门平均工资的员工信息)
select emp.ename,emp.sal a1.mysal emp.deptno from emp ,(select deptno,avg(sal) mysal from emp group by deptno) a1 where emp.deptno=a1.deptno and emp.sal>a1.mysal;

分页
select * from (select a1.* ,rownum rn from (select * from emp) a1 where rownum<=10) where rn>=5;
所有改动只需该最里层的数据

用子查询创建表
create table 表名 (字段1,字段2,字段3) as select empno,ename,sal from emp;

合并查询:多个查询结果合并为一个
查询语句 union 查询语句(取并集自动distinct)
查询语句 union all 查询语句(取并集不自动distinct)
查询语句 intersect 查询语句(取交集)
查询语句 minus 查询语句(取差集(在第一个集合存在且不存在于第二个集合中))

创建数据库
1、用工具 Database configuration assistant(dbca)
2、用函数

时间: 2024-12-28 04:05:25

Oracle表的查询(一)的相关文章

Oracle表复杂查询

Oracle表复杂查询 聚合函数 max(字段值)  -- 求最大值 min(字段值)  -- 求最小值 sum(字段值)  -- 求总和 avg(字段值)  -- 求平均值 count(字段值)  -- 求个数 group by 和 having 字句 group by :  用于对查询的结果分组统计 having 子句:用于过滤分组显示的结果   案例: 1.显示每个部门的平均工资和最高工资?   select avg(sal),max(sal) from emp group by dept

Oracle 表空间查询与操作方法

一.查询篇 1.查询oracle表空间的使用情况 select b.file_id 文件ID,  b.tablespace_name 表空间,  b.file_name 物理文件名,  b.bytes 总字节数,  (b.bytes-sum(nvl(a.bytes,0))) 已使用,  sum(nvl(a.bytes,0)) 剩余,  sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比  from dba_free_space a,dba_data_files b 

oracle表空间查询维护命令大全之中的一个(数据表空间)史上最全

表空间是数据库的逻辑划分,一个表空间仅仅能属于一个数据库. 全部的数据库对象都存放在建立指定的表空间中.但主要存放的是表, 所以称作表空间.在oracle 数据库中至少存在一个表空间.即SYSTEM的表空间.一个表空间能够包括多个段.以及区.以及最小的块,同一时候也能够包括多个数据文件(物理结构). oracle 能够依据表空间对相关的用户配额以及磁盘空间都有极大的保护作用,并且还能够灵活的存放.同一时候也能够把不同的数据文件分开存放,保证不同数据文件的安全行. 所以在一般数据创建后,就会创建相

oracle表空间查询维护命令大全之一(数据表空间)史上最全

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库.所有的数据库对象都存放在建立指定的表空间中.但主要存放的是表, 所以称作表空间.在oracle 数据库中至少存在一个表空间,即SYSTEM的表空间.一个表空间可以包含多个段,以及区,以及最小的块,同时也可以包含多个数据文件(物理结构). oracle 可以根据表空间对相关的用户配额以及磁盘空间都有极大的保护作用,而且还可以灵活的存放,同时也可以把不同的数据文件分开存放,保证不同数据文件的安全行. 所以在一般数据创建后,就会创建相关的表空间,

Oracle 表复杂查询之多表合并查询

转自:https://www.cnblogs.com/GreenLeaves/p/6635887.html 本文使用到的是oracle数据库scott方案所带的表,scott是oracle数据库自带的方案,使用前请确保其解锁 Oracle合并查询一共有四种方式,分别使用不同的关键字:UNION.UNION ALL.MINUS.INTERSECT 1.UNION ALL 使用UNION ALL,表示取A.B的合集,不过滤重复的数据行,代码如下: select * from emp where sa

oracle表空间查询维护命令大全之三(暂时表空间)史上最全

--UNDO表空间汇总 --查看全部的表空间名字 SELECT NAME FROM V$TABLESPACE; --创建新的UNDO表空间,并设置自己主动扩展參数; CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS02.DBF' SIZE 10M REUSE AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED; --注意:在OPEN状态下某

oracle表空间查询维护命令大全之二(undo表空间)

--undo表空间汇总 --查看所有的表空间名字 select name from v$tablespace; --创建新的UNDO表空间,并设置自动扩展参数; create undo tablespace undotbs2 datafile 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS02.DBF' size 10m reuse autoextend on next 100m maxsize unlimited; --注意:在OPEN状态下某些时

oracle表空间查询维护命令大全之三(临时表空间)史上最全

--UNDO表空间汇总 --查看所有的表空间名字 SELECT NAME FROM V$TABLESPACE; --创建新的UNDO表空间,并设置自动扩展参数; CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS02.DBF' SIZE 10M REUSE AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED; --注意:在OPEN状态下某些时

Oracle 表空间查询

一.普通查询 SELECT Total.name TablespaceName,       Free_space,       (total_space - Free_space) Used_space,       total_space  FROM (select tablespace_name, sum(bytes / 1024 / 1024) Free_Space          from sys.dba_free_space         group by tablespace_