怎样修改oracel数据库的默认日期?
alter session set nls_date_format='yyyymmddhh24miss'
查看表的注释
select comments from user_tab_comments where table_name = 'empm';
查看列注释
select comments from user_col_comments where table_name= 'empm' and column_name='emp_nm';
为表或列加注释
comment on table table_nm is '基本信息表';
comment on column table_nm.col_nm is '工号';
伪列﹕rowid,rownum
select * from empm where ROWNUM <= 10 --查询一个表的前10行记录
删除重复记录,只保留第一条
delete from dumpy_part a
where a.rowid <>(select min(rowid) from dumpy_part b where a.id = b.id )
在select 语句中 distinct 和 Unique的用法相同
使用了distinct 或unique 后,order by 后面的列需要出现在select列表中
例如:tab_1表中有a,b,c三列;select distinct a,b from tab_1 order by c;这样写会报错,原因
update/insert 与 select 的配合
UPDATE empm SET emp_age =(SELECT age + 10 FROM empm WHERE emp_no = '0001')
INSERT INTO empm_copy SELECT * FROM empm
外连接 替代 not in ,可以提高查询效率
SELECT emp_no FROM empm WHERE emp_no NOT IN (SELECT emp_no FROM empimg)
--等价于(但是效率较高)
SELECT empm.emp_no,empimg.emp_no from empm,empimg where empm.emp_no=empimg.emp_no(+) AND empimg.emp_no IS NULL;
单行子查询包括﹕where单行子查询,having单行子查询﹐from单行子查询
---------where单行子查询
select * from empm
where emp_no =(select emp_no from empimg where emp_no='123');
---------having单行子查询
select avg(age),min(age),max(age)
from empm
having avg(age)> min(age)
---------from 子句中的单行查询子查询
select emp_nm from empm a,(select emp_no, emp_nm from emp_d) x
where a.emp_no=x.emp_no
---------多行子查询﹐包括﹕in 多行子查询﹐all 多行子查询﹐any 多行子查询
---------in 多行子查询
select * from empm where emp_no in (select emp_no from empimg)
---------any 多行子查询
select * from empm where age < any (select avg(age) from empm group by emp_no);
select * from empm where eage = any (select avg(age) from empm group by emp_no);
等价于
select * from empm where age in (select avg(age) from empm group by emp_no)
--------any 多行子查询
select * from empm
where age > all (select avg(age) from empm)
-------多列子查询﹕与单列子查询不一杨﹐多列子查询要返回多列﹐多列子查询
-------又分为成对比较子查询和非成对比较子查询
-------成对子比较多列查询
-------哪些员工的年龄在本部门最高﹖
select emp_no,dept_no,age from empm
where (dept_no,age) in (select dept_no,max(age) from empm group by dept_no)
------非成对比较多列子查询
------哪些员工的年龄与某一职位的最高工资相同
select emp_no,dept_no,age from empm
where age in (select max(age) from empm group by dept_no)
and dept_no in (select distinct dept_no from empm)
-- WITH AS 的用法:将查询结果放在临时表中
WITH
T1 AS
(SELECT EMP_NO,EMP_NM,SEX,AGE FROM empm WHERE sex='1'),
T2 AS
(SELECT EMP_NO,EMP_NM,SEX,AGE FROM empm WHERE AGE<=35)
SELECT * FROM T1,T2 WHERE T1.EMP_NO=T2.EMP_NO;
分享到:
相关推荐
第五章:归档日志 archivelog 第六章:日志挖掘 logminer 第七章:管理undo 第八章: 检查点 checkpoint 第九章:实例恢复机制 第二部分:Oracle存储架构 第十章: 数据字典和动态视图 第十一章:Oracle的存储架构 ...
oracle导出excel的数据字典sql,根据该sql可以导出数据字典。
Oracle学习笔记精华版Oracle学习笔记精华版Oracle学习笔记精华版Oracle学习笔记精华版
Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记
第一章 ORACLE 命令 第二章 ORACLE 卸载 第三章 ORACLE 用户管理 第四章 数据字典 第五章 SQLServer和Oracle的常用函数对比 第六章 SQL 函数
oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记
Oracle非常有用的笔记。。。。。。。。。。。Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记
oracle学习笔记 oracle学习笔记oracle学习笔记 oracle学习笔记
Oracle.DBA手记·4:数据安全警示录
第五章:表 第六章:索引 第七章:视图 第八章:集群 第十章:用户,资源文件,角色喝授权 第十一章:其他管理特性 第十二章:优化器 第十三张:其他命令 第十四章:内置函数 第十五章:DML命令 附录A:初始化参数 ...
数据字典视图和动态性能视图的区别 : a:数据字典视图名一般用复数,而动态性能视图名一般用单数,比如dba_tablepsaces vs v$tablespace。 b:数据字典视图只有在数据库opn的情况下才可以访问,而部分动态性能视图...
第五章:预警及诊断系统 第六章:Optimizer策略与管理 第七章:oracle内存管理 第八章:11g其他新特性 第九章:性能诊断方法 第十章:性能调优好框架。 由于文件过大,只提供百度网盘下载地址和提取码,请放心下载。...
Oracle.DBA手记·4:数据安全警示录.pdf
Oracle EBS中文数据字典.pdf
本文档主要是网易云李兴华老师进行授课时所作笔记,从Oracle11g数据库的安装到复杂查询做了详细的文档记录。
oracle学习笔记,包含所有oracle概念,包,函数,oracle的组成,oracle的plsq,oracle的存储过程,oracle的事务等
Oracle数据字典参考Oracle数据字典参考Oracle数据字典参考Oracle数据字典参考Oracle数据字典参考
OracleEBS中文数据字典
Oracle 数据字典Oracle 数据字典Oracle 数据字典Oracle 数据字典Oracle 数据字典Oracle 数据字典Oracle 数据字典Oracle 数据字典Oracle 数据字典