Oracle笔记(四)

原创 2015年11月18日 12:49:36


子查询:
为其他sql语句提供数据。有时候我们在执行某一条sql语句时需要的数据不是确定值,必须要先查询一次表的到,那么先执行的这个查询语句往往是嵌套实际要执行的sql语句之中,为其提供数据的,那么这个查询语句就是子查询。
查询与BLAKE相同部门人的姓名
SELECT ename ,deptno FROM emp_tzm where  deptno = (SELECT deptno FROM emp_tzm where ename = 'BLAKE')

子查询根据查询结果的字段数量与记录数分为:
单行单列子查询
多行单列子查询
多行多列子查询

其中单列子查询常用与WHERE中作为过滤条件中

而多列常当作一张表看待出现在FROM子句中

查找和SCOOT同职位的员工
SELECT ename FROM emp_tzm e WHERE job = (SELECT job FROM emp_tzm WHERE ename = 'SCOTT');
查找比平均薪水高的员工
SELECT ename,sal FROM emp_tzm e WHERE sal>(SELECT AVG(sal) FROM emp_tzm);

查看与SALESMAN同部门的其他职位

SELECT ename ,job ,deptno FROM emp_tzm WHERE deptno IN (SELECT deptno FROM emp_tzm WHERE job = 'SALESMAN') AND job <> 'SALESMAN'

EXISTS 关键子后面根一个子查询,只要该查询能够查询出至少一条记录,那么就会返回true

查看有员工的部门

SELECT deptno ,dname FROM dept_tzm d WHERE EXISTS(SELECT * FROM emp_tzm e WHERE d.deptno = e.deptno);


查询列出最低薪水高于部门30的最低薪水的部门信息
SELECT MIN(sal),deptno FROM emp GROUP BY deptno HAVING MIN(sal)>(SELECT MIN(sal)FROM emp WHERE deptno = 30)

比自己所在部门平均工资高的员工
SELECT e.ename,e.sal,e.deptno 
FROM emp_tzm e,(SELECT AVG(sal) avg_sal,deptno FROM emp_tzm  GROUP BY deptno) t

WHERE  e.deptno = t.deptno AND e.sal>t.avg_sal;


子查询出现在SELECT子句中,通常是实现外连接的效果:

SELECT e.ename ,e.sal,(SELECT d.dname FROM dept_tzm d WHERE d.deptno = e.deptno) dname FROM emp_tzm e;

oracle学习笔记四——角色管理

本来今天还不打算讲oracle角色管理的,但是因为上篇笔记中提到了oracle的角色权限,也不想让朋友绕太多的弯子,所以这个笔记决定记下关于oracle的角色管理。 首先,什么是oracle的角色呢...

【goldengate】官方文档笔记四 Oracle GoldenGate实时数据分布

分类: Oracle 数据分布配置是一对多得配置方案。OGG支持将源库同步到多个目标系统。 数据分布配置需要注意事项: 如果数据传输过程中,投递进程(data pump)发现目标库网...

ORACLE学习笔记(四)——数据库的访问

数据库启动之后想要提供网络服务还需要启动数据库的监听器(配置文件通常为listener.ora),其缺省端口是1521,接收来自客户端的访问请求(客户端请求通过tnsnames.ora文件定义发送)。...

oracle学习笔记之四(存储过程)

存储过程:不带参数: Sql代码  create or replace  procedure out_line    is     begin       dbms_output.put_line(s...
  • smwcwb
  • smwcwb
  • 2011年07月26日 11:53
  • 207

Oracle数据库学习笔记四

Oracle数据库学习 系统权限不是级联回收。 对象权限的访问 对象权限是级联回收的。 角色 角色分为预定义角色自定义角色。 预定义...

Oracle学习笔记(四)

外键   --主表(父表) 被参照的表 create table major_ning( mid number(2) primary key, mname varchar2(30) ...
  • hiperry
  • hiperry
  • 2013年06月07日 23:43
  • 811

Oracle学习笔记(四):多表查询(二)

为了说明外连接的作用,我们做一个表来说明:

Oracle学习笔记(四)——上机练习一

1、define命令可以用于定义哪种变量 a、number b、char c、varchar2 d、date 【b】 Host变量主要作用是起到一个替代变量的作用,是主机环境可以和...

尚学堂马士兵Oracle学习笔记之四:开始学习DML语句

3-- import the data  imp c:\temp>imp xxx/xxx scott 连接新数据库 conn xxx/xxx   开始学习DML语句 1. desc dept; ins...

oracle学习笔记(四)

oracle中的流程控制语句,主要包括选择语句和循环语句,选择语句也就是条件语句。 一、条件语句 1.if then 语句格式 if then end if; 2.if then else 语句格式...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle笔记(四)
举报原因:
原因补充:

(最多只允许输入30个字)