多表查询

笛卡尔积: N*M

使用关联字段消除笛卡尔积的多余数据:

SELECT EMP.*,DEPT.DNAME,DEPT.LOC FROM EMP, DEPT

WHERE EMP.DEPTNO=DEPT.DEPTNO;

多表查询一定要有关联字段

SELECT

E.ENAME,E.JOB,E.HIREDATE,D.DEPTNO,D.LOC

FROM EMP  E ,DEPT D

WHERE E.DEPTNO = D.DEPTNO;

UNION-集合操作

UNION将两个或两个以上的查询结果合并到一个结果中,查询结果中会剔除所有重复记录。

SELECT * FROM EMP

UNION

SELECT * FROM EMP WHERE DEPTNO=10 ;

UNION ALL将两个或多个查询结果放到一个结果中,保留所有记录(相对于UNION)。

SELECT * FROM EMP

UNION ALL

SELECT * FROM EMP WHERE DEPTNO=10 ;

INTERSECT 求出多个结果的共有数据(交集)

SELECT * FROM EMP

INTERSECT

SELECT * FROM EMP WHERE DEPTNO=10 ;

MINUS 用第一个结果减去第二个结果(差集)

SELECT * FROM EMP

MINUS

SELECT * FROM EMP WHERE DEPTNO = 10;

Oracle中的多表查询的更多相关文章

  1. Oracle中的多表查询(笛卡尔积原理)

    本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查询一起完成各个复杂查询的操作: 一 ...

  2. oracle中的多表查询和子查询以及一些注意事项

    多表查询就是使用两张表及其以上的查询.首先需要知道几个名词,笛卡尔积,内连接,外连接,子查询. 1)笛卡尔积 所谓笛卡尔积其实就是两张表数据的条数相乘得到的最后结果,例如表1有10条数据,表2有4条数 ...

  3. Oracle 中利用闪回查询确定某表在某时间点之后的修改内容,并恢复至该时间点

    Oracle 中利用闪回查询确定某表在某时间点之后的修改内容: 1.查看 DELETE 及 UPDATE 操作修改的数据: SQL> SELECT * FROM tab AS OF TIMEST ...

  4. oracle中的dual表详解

    oracle中的dual表详解 1.DUAL表的用途 Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中 --查看当前连接用户 SQL> s ...

  5. Oracle数据库之单表查询

    接着上一篇的分享,今天主要给大家分享的是关于数据中的单表查询,单表查询很基础,也很重要,但是任何一个初学者必须要掌握的姿势,单表查询就是对单个表进行操作,查询我们想要的数据.单表查询里面的内容也是比较 ...

  6. oracle中的树状查询

    oracle中的树状查询 工作中经常会遇到将数据库中的数据以树的形式展现的需求.以下我们来看一下该需求在Oracle中如何实现. 首先我们需要有一个树形的表结构(当然有时候会出现表结构不是典型的树形结 ...

  7. Oracle中存储过程传入表名学习

    Oracle中存储过程传入表名: 一.动态清除该表的数据 create or replace procedure p_deletetable(i_tableName in varchar2)  as  ...

  8. Hibernate中的多表查询及抓取策略

    1.Hibernate中的多表查询 1.1SQL中的多表查询 [交叉连接] select * from A,B; [内连接] 显示内连接:inner join(inner 可以省略) Select * ...

  9. Oracle中的SQL分页查询原理和方法详解

    Oracle中的SQL分页查询原理和方法详解 分析得不错! http://blog.csdn.net/anxpp/article/details/51534006

随机推荐

  1. PHP闭包研究

    闭包也就是PHP的匿名函数, 但是和函数不同的是,闭包可以通过use使用函数声明时所在作用域的变量的值. 形式如下 $a = function($arg1, $arg2) use ($variable ...

  2. sql server 移动表到文件组

    存储过程如下: USE [SCC_Test_FileGroupAndIndex] GO /****** Object:  StoredProcedure [dbo].[sp_MoveTable]    ...

  3. ASP.NET MVC 控制器向View传值的三种方法

    转自:http://www.cnblogs.com/shinima/p/3940452.html 1.提供视图模型对象 你能把一个对象作为View方法的参数传递给视图. public ViewResu ...

  4. Nginx 性能优化

    1.安全优化:隐藏Nginx版本号,server_tokens off; 2.安全优化:更改掉默认的用户  user nginx; 3.性能优化:  根据硬件配置,调整nginx worker 进程数 ...

  5. Httpservlet cannot be resolved to a type的原因与解决方法

    刚开始学习Servlet,在Eclipse中新建了一个Servlet,不过页面上报错: Httpservlet cannot be resolved to a type,显然是Eclipse找不到相应 ...

  6. [原]网络库libevent在Visual Studio中的使用方法

    libevent是一个事件触发的网络库,适用于windows.linux.bsd等多种平台,内部使用select.epoll.kqueue等系统调用管理事件机制.著名分布式缓存软件memcached也 ...

  7. Entity Framework菜鸟初飞

    Entity Framework菜鸟初飞 http://blog.csdn.net/zezhi821/article/details/7235134

  8. .NET RSACryptoServiceProvider PEM + DER Support

    http://www.christian-etter.de/?p=771 In .NET, RSACryptoServiceProvider greatly simplifies common tas ...

  9. 【Redis】使用Redis Sentinel实现Redis HA

    阅读目录 1 sentinel down-after-milliseconds mymaster 30000 sentinel failover-timeout mymaster 18000 sent ...

  10. Saltstack系列2:Saltstack远程执行命令

    命令 命令格式: salt '<操作目标>' <方法>[参数] 例: salt 'wx' cmd.run 'free -m' #查看被控主机内存使用情况 常用参数 针对< ...