您的当前位置:首页oracle 基本查询

oracle 基本查询

2023-11-11 来源:六九路网

-- 查看表字段

desc tablename;

 

-- 查询表数据

select * from tablename;

 

-- 设置别名

可以在字段名后

1. as "newName"  2."newName" 3.newName 12没有区别不加引号名字中间不可以加特殊字符活关键字

 

-- distinct去掉重发记录

 

oracle 基本查询

标签:select   name   不加引号   tab   表数据   查看   别名   设置   sel   

小编还为您整理了以下内容,可能对您也有帮助:

oracle 如何取表中所有数据的20%

select t.*,t.rid from (select * ,rownum as rid from table) t

where rid<= (select round(count(*)*0.2) as count from table);

怎么使用oracle语句查找一张表中在平均值上下20%范围内的数据拿出来?

一条语句太长了,写两条吧!

select avg([字段]) from [表名]

先求出平均值,然后算出来*1.2,*0.8

第二条语句select * from [表名] where ([字段]<1.2*平均值 and [字段]>0.8*平均值)

oracle 11g错误代码20怎么解决

在$ORACLE_HOME/NETWORK/ADMIN目录下,存放着*的配置文件,其中,那个叫做SAMPLE的文件夹是*配置的举例,虽然是英文,但花点时间的话还是能基本看懂的。回到正题,SAMPLE文件夹旁边还有两个扩展名为.ora的文件,可以用记事本之类的软件打开。里面存放着*的各种配置。
回到这个故障的话题,网上看到一个方法,说是主机名可能设置的不对,就是那两个.ora文件中的HOST选项,于是查看了一下详细情况:
listener.ora文件中HOST的值为180.111.140.106,看上去是个*地址;
tnsnames.ora文件中的HOST值为localhost,很显然是本机地址;
既然这两个HOST值不一样,那估计问题就出在这了,因为要连接的是本机上的数据库,所以就把两个HOST的值都改成127.0.0.1,然后找到Windows服务中的OracleDb11g_homeTNSListener这条,先停止它,然后再启动。如下图:


然后回到SQL Developer,重新连接数据库,OK~

oracle 11g错误代码20怎么解决

在$ORACLE_HOME/NETWORK/ADMIN目录下,存放着*的配置文件,其中,那个叫做SAMPLE的文件夹是*配置的举例,虽然是英文,但花点时间的话还是能基本看懂的。回到正题,SAMPLE文件夹旁边还有两个扩展名为.ora的文件,可以用记事本之类的软件打开。里面存放着*的各种配置。
回到这个故障的话题,网上看到一个方法,说是主机名可能设置的不对,就是那两个.ora文件中的HOST选项,于是查看了一下详细情况:
listener.ora文件中HOST的值为180.111.140.106,看上去是个*地址;
tnsnames.ora文件中的HOST值为localhost,很显然是本机地址;
既然这两个HOST值不一样,那估计问题就出在这了,因为要连接的是本机上的数据库,所以就把两个HOST的值都改成127.0.0.1,然后找到Windows服务中的OracleDb11g_homeTNSListener这条,先停止它,然后再启动。如下图:


然后回到SQL Developer,重新连接数据库,OK~

Oracle基本查询过滤排序示例解析

以下是对Oracle中的基本查询过滤排序示例进行了详细的分析介绍 需要的朋友可以参考下  

   基本查询

复制代码 代码如下: 查询所有员工的信息 select * from emp; 设置行宽 set linesize ; 设置列宽为四个数字的宽度 col empno for ; 设置列宽 a表示字符串共八位长度 col ename for a 设置pageSize每页显示 条记录 set pagesize ; sql中支持算数表达式 注意 如果一个表达式中含有空值 则整个表达式为空 select empno ename sal sal* m sal* +m from emp; 使用滤空函数如果m为空将以 代替 select empno ename sal sal* m sal* +nvl(m ) from emp; 使用别名的三种方式 别名中有无双引号的区别 带双引号的可以包含空格和特殊字符 不带双引号的则不能 select empno as "员工编号" ename "姓名" sal 月薪 m sal* +nvl(m )年收入 from emp; 关于disctinct 相同记录只取一次 select distinct deptno from emp; 当disctinct跟多个值时 当deptno和job均一样时 才认为是相同记录 select distinct deptno job from emp; 连接符的使用 select ename || 的薪水是 ||sal from emp;

   注意 SQL 语言大小写不敏感 SQL 可以写在一行或者多行 关键字不能被缩写也不能分行 各子句一般要分行写 使用缩进提高语句的可读性 过滤和排序

复制代码 代码如下: 查询系统参数 select * from v$nls_parameters; 修改日期格式 alter session set NLS_DATE_FORMAT= yyyy mm dd ; 隐士方式转换日期 会影响性能 select * from emp where hiredate= ; 显示方式转换日期 select * from emp where hiredate=to_date( yyyy mm dd ); 比较运算符 查询工资大于 小于 的员工 beeen and含边界 select * from emp where sal>= and sal<= ; select * from emp where sal beeen and ; in: 在集合中 查询 号部门和 号部门的员工 select * from emp where deptno= or deptno= ; select * from emp where deptno in ( ); 模糊查询:查询名字以S打头的员工 select * from emp where ename like S% ; 查询名字有四个字的员工 要求四个下划线 select * from emp where ename like ____ ; 查询姓名中含义下划线的员工 _下划线为特殊字符需要转义 escape 声明转义 select * from emp where ename like %_% escape ; 查询奖金不为空的员工 select * from emp where m is not null; 查询员工信息 按照月薪排序 select * from emp order by sal; a命令 追加命令 将上边改为降序排序 a  desc 查询员工信息 按照年薪排序 select empno ename sal sal* from emp order by sal* ; order by后面可以跟别名 select empno ename sal sal* 年薪 from emp order by 年薪; order by后面可以跟序号 select empno ename sal sal* from emp order by ; order by作用于多列 先按照第一列排序 然后按照第二列排 select * from emp order by deptno sal; order by作用于多列 降序需要每列均有desc select * from emp order by deptno desc sal desc 将空值排到最后 select * from emp order by m desc nulls last; 屏蔽/开启反馈信息 set feedback off/set feedback on lishixin/Article/program/Oracle/201311/19117

查询数据库中哪些表空间的空闲空间百分比低于20%

本人对oracle了解有限,

以下摘自:http://blog.csdn.net/ecast/article/details/6911535,希望能够帮到你。

--1查看表空间已经使用的百分比

Sql代码 select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"

from

(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,

(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b

where a.tablespace_name=b.tablespace_name

order by ((a.bytes-b.bytes)/a.bytes) desc

“Sum MB”表示表空间所有的数据文件总共在操作系统占用磁盘空间的大小

比如:test表空间有2个数据文件,datafile1为300MB,datafile2为400MB,那么test表空间的“Sum MB”就是700MB

“userd MB”表示表空间已经使用了多少

“free MB”表示表空间剩余多少

“percent_user”表示已经使用的百分比

--2比如从1中查看到MLOG_NORM_SPACE表空间已使用百分比达到90%以上,可以查看该表空间总共有几个数

据文件,每个数据文件是否自动扩展,可以自动扩展的最大值。

Sql代码 select file_name,tablespace_name,bytes/1024/1024 "bytes MB",maxbytes/1024/1024 "maxbytes MB" from dba_data_files

where tablespace_name='MLOG_NORM_SPACE';

--2.1 查看 xxx 表空间是否为自动扩展

Sql代码 select file_id,file_name,tablespace_name,autoextensible,increment_by from dba_data_files order by file_id desc;

--3比如MLOG_NORM_SPACE表空间目前的大小为19GB,但最大每个数据文件只能为20GB,数据文件快要写满,可以增加表空间的数据文件

用操作系统UNIX、Linux中的df -g命令(查看下可以使用的磁盘空间大小)

获取创建表空间的语句:

Sql代码 select dbms_metadata.get_ddl('TABLESPACE','MLOG_NORM_SPACE') from al;

--4确认磁盘空间足够,增加一个数据文件

Sql代码 alter tablespace MLOG_NORM_SPACE

add datafile '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf'

size 10M autoextend on maxsize 20G

--5验证已经增加的数据文件

Sql代码 select file_name,file_id,tablespace_name from dba_data_files

where tablespace_name='MLOG_NORM_SPACE'

--6如果删除表空间数据文件,如下:

Sql代码 alter tablespace MLOG_NORM_SPACE

drop datafile '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf'

显示全文