Oracle学习笔记2

一. Select

1) select * from tablename;

2) select salary*12 from tablename;  // 对列运算

3) select sysdate from dual;                     // 获取当前时间

4) select salary*12 annual_salary from tablename;        // 为列起别名

// 为列起区分大小写或着带空格的别名

select salary*12 “annual salary” from tablename;    

5) select ename || salary from emp;                 // 连接两个列

6) select distinct deptno from emp;          // 去掉重复的值

          Select distinct ename, job from emp;  // 去掉 ename job 都相同的记录

7) select * from emp where ename > ‘cba’;    // 比较字符串条件,按 ascii

8) select * from emp where salary between 800 and 1500;  //between and 查询

9) //in 查询

select * from emp where ename in (‘abc’, ‘def’);

select * from emp where salary not in (‘abc’, ‘def’);

10)              // 空值比较

select * from emp where ename is null;

select * from emp where ename is not null;

11)              //% 代表 0 或多个字符, _ 代表一个字符

select * from emp where ename like ‘_a%’;

select * from emp where ename like ‘abc/%’ escape ‘/’;              // 定义转义字符

12)              select * from dept order by deptno desc/asc;                //order by 排序

                     // 先按 deptno 升序排列,相同的 deptno ename 的降序排列

                     Select * from emp order by deptno asc, ename desc;

13)              // 日期比较

select * from emp where indate > ’20-2 -09’ ;

14)              // deptno job 都相同的记录进行分组

Select deptno, job from emp group by deptno, job;

15)              // having 过滤 group by

Select avg(sal), deptno from emp group by deptno having avg(sal)>2000

16)              // 一般结构

Select deptno, avg(sal)

From emp

Where sal > 1200

Group by deptno

Having avg(sal) >1500

Order by avg(sal) desc;

17)              // 子查询

Select cname, sal from emp

Where sal = (select max(sal) from emp);

// 复杂子查询

Select ename, sal

From emp join (select max(sal) max_sal, deptno from emp group by depno) t

On (emp.sal = t.max_sal and emp.deptno = t.deptno);

18)              // 自连接( SQL1992

Select e1.ename, e2.ename from emp e1, emp e2 where e1.mgr = e2.empno;

// 连接( SQL1999

// 笛卡尔连接

Select ename, dname from emp cross join dept;

// 等值连接

Select ename, dname from emp join dept on (emp.deptno = dept.deptno);

// 非等值连接

Select ename, grade from emp e join salgrade s on (e.sal between s.lowsal and s.highsal);

// 多表连接

Select ename ,dname, grade from

Emp e join dept d on (e.deptno = d.deptno)

Join salgrade s on (e.sal between s.lowsal and s.highsal);

// 左外连接

Select e1.ename, e2.ename from emp e1 left join emp e2 on(e1.mgr = e2.empno);

// 全连接

Select ename, dname from

Emp e full join dept d on (e.deptno = d.deptno);

19)              // 伪列 rownum( 只能与 <= < )

// 取前五列

Select empno, ename from emp where rownum <= 5;

// 取任意范围的列

Select ename from (select rownum r, ename from emp) where r between 5 and 10;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle是一种关系型数据库管理系统,广泛用于企业级应用程序中。学习Oracle需要全面了解其结构、基本概念和操作技巧。 首先,了解Oracle数据库的体系结构非常重要。Oracle数据库由实例和数据库组成。实例是数据库在内存中的运行实体,数据库是磁盘上存储数据的地方。了解实例和数据库之间的关系以及它们各自的功能对于后续学习非常重要。 其次,掌握SQL语言对于学习Oracle至关重要。SQL是结构化查询语言的缩写,用于与数据库进行交互。学习SQL语言,包括基本的SELECT、INSERT、UPDATE和DELETE语句,以及高级的聚合函数、连接查询和子查询等操作,可以帮助我们有效地访问和操作Oracle数据库。 此外,熟悉Oracle数据库的基本概念也是学习的关键。如表、视图、索引、约束、触发器等一系列数据库对象的使用和管理,以及事务的概念和ACID特性的重要性等。 了解Oracle的性能调优也是学习Oracle的必备知识之一。通过优化查询、索引和存储结构等手段来提高数据库的性能可以使数据库系统更加高效地运行。 最后,了解Oracle的高级特性和功能也是学习的重点。如分区表、数据泵、分布式数据库、备份和恢复等高级功能,在复杂的企业级环境中能够更好地应对各种需求。 总之,学习Oracle需要综合掌握数据库的结构、SQL语言、基本概念、性能调优和高级特性等。通过理论学习和实践操作相结合,逐步积累经验,才能够成为熟练的Oracle数据库管理员或开发人员。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值