Oracle学习(七):集合运算】的更多相关文章

一.集合运算操作符  UNION:(并集)返回两个集合去掉重复值的所有的记录  UNION ALL:(并集)返回两个集合去掉重复值的所有的记录 INTERSECT:(交集)返回两个集合的所有记录,重复的只取一次  MINUS:(差集)返回属于第一个集合,但不属于第二个集合的所有                        记录 集合运算中各个集合必须有相同的列数,且类型一致,集合运算的结        果将采用第一个集合的表头作为最终的表头,order by必须放在每个        集合后…
1.知识点:能够对比以下的录屏进行阅读 SQL> -- 查询10和20号部门的员工的3种方法 SQL> --1. select * from emp where deptno in (10,20); SQL> --2. select * from emp where deptno=10 or deptno=20; SQL> --3. 集合运算:union/union all并集.intersect 交集:minus差集 SQL> -- select * from emp wh…
集合运算 1. 并集:UNION     例:     SELECT shohin_id, shohin_mei    FROM Shohin    UNION    SELECT shohin_id, shohin_mei    FROM Shohin2;     将Shohin和Shohin2两张表的shohin_id和shohin_mei两列取并集:     注意,UNION操作时,列数必须相等,且每列的数据类型应该相同     保留重复行: UNION ALL 2. 交集:INTERSE…
前言:在实际项目中对多表进行集合运算使用非常广泛,以下是对集合操作的部分总结. 一,建表,插入测试数据 create table a( numbers integer ) create table b( numbers integer ) ); ); ); ); commit ); ); ); ); commit 二,求并集,返回a,b两表中所有记录,[去重] select numbers from a union select numbers from b 三,求并集,返回a,b两表中所有记录…
select count(KEYCODE) from STHSGDOC.ZJSJJL where ysrq=to_date(to_char(sysdate,'yyyy')||'/1','yyyy/MM/'); 查询当年一月份的数据,其中用到了to_char以及to_date, to_char的用法是吧字段转换为char类型,举个例子: to_char(sysdate, 'yyyy/mm/dd'); 相当于按照这个格式转化了系统的时间,结果就是'2003/07/09' . 那么to_date就是转…
一.子查询 1.为什么要使用子查询:问题不能一步求解或者一个查询不能通过一步查询得到. 2.分类:单行子查询和多行子查询. 3.子查询的本质:一个查询中包含了另外一个或者多个查询. 4.使用子查询的规则: (1)可以在主查询的where.select.from.having的后面放置子查询,但是不可以在在group by后面防止子查询. (2)将子查询放到括号中去. (3)强调from后面放置子查询. (4)主查询和子查询使用的可以不是同一张表. (5)一般不在主查询中使用order by,但是…
集合运算 INTERSECT(交集),返回两个查询共有的记录. UNION ALL(并集重复),返回各个查询的所有记录,包括重复记录. UNION(并集不重复),返回各个查询的所有记录,不包括重复记录 . MINUS(补集),返回第一个查询的记录减去第二个查询的记录之后剩余的记录. -- 交集 select * from stuinfo1 intersect select * from stuinfo2; -- 并集重复 select * from stuinfo1 union all sele…
SQL> /* SQL> 查询10和20号部门的员工 SQL> 1. select * from emp where deptno=10 or deptno=20; SQL> 2. select * from emp where deptno in (10,20); SQL> 3. 集合运算 SQL> select * from emp where deptno=10 SQL> 加上 SQL> select * from emp where deptno=2…
oracle学习门户系列七 网络管理和配置 们学习了模式和用户.包含模式定义以及模式的作用. 这篇我么来看下ORACLE数据库中的网络管理和配置.只是这篇好像和上篇没有继承啊.这怎么看? Ok,事实上呢-..咳咳-..我们继续往下走 数据库的网络配置是比較基础可是也是很重要的.假设一个数据库连不上外部的世界:那么他就是一个孤立的资源,基本上就能够确认这是个无用的数据库系统. 我们在数据库定义中以前讲过,数据库是须要有多用户分享的,没有网络何来分享呢?对不正确.那肯定不是数据库了嘛. 前面摘要已经…
count组函数:(过滤掉空的字段) select count(address),count(*) from b_user max() avg() min(),sum() select sum(age),max(age),min(age),avg(nvl(age,0)) from b_user 1       260     70      10      37.1428571428571 group by:如果前面定义了该字段名  则groupby必须也写上该字段 select name,pw…
SQL 基础知识梳理(七)- 集合运算 目录 表的加减法 联结(以列为单位) 一.表的加减法 1.集合:记录的集合(表.视图和查询的执行结果). 2.UNION(并集):表的加法 -- DDL:创建表 CREATE TABLE Shohin2 (shohin_id ) NOT NULL, shohin_mei ) NOT NULL, shohin_bunrui ) NOT NULL, hanbai_tanka INTEGER , shiire_tanka INTEGER , torokubi D…
作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7289451.html --oracle分页(Pageing Query) select * from (select rownum r,e1.* from (select * from emp order by sal) e1 ) ; SQL SQL> --查询工资比SCOTT高的员工信息 SQL> --1. SCOTT的工资 SQL> select sal from emp…
 1  Oracle基于用户的管理方案 2 DDL语句可以管理数据库的对象有:视图   索引  序列  同义词   约束 3  创建一个表,有2个条件(1 有权限:2有表空间) Oracle给你提供了默认的resource. 4 创建表,表信息的增删改,Oracle回收站 DDL 管理数据库的对象 表 视图 索引 序列 同义词 约束(..... ) oracle基于用户的管理方案 借助于管理工具可以方便 看到数据库各个对象.... 1 创建一个表 2个条件(1 有权限  2 有表空间) or…
多表查询 笛卡尔积 同时查询多张表时,每张表的每条数据都要和其它表的每条数据做组合.如下栗子,我们发现产生的总记录数是 56 条,还发现 emp 表是 14 条,dept 表是 4 条,56 条正是 emp 表和 dept 表的记录数的乘积,这就是笛卡尔积. ) from dept; ) from emp; ) from emp,dept; 例: 连接条件类型 等值连接 不等值连接 外链接 自连接 多表基本查询 使用一张以上的表做查询就是多表查询,而多表查询一般则需要通过多表连接来实现. 如果多…
记得自己要敲o~~~ select * from bonus; select * from salgrade; from dual; --笛卡尔积:两张表的乘积 select * from emp,dept; select * from emp e1,dept d1 where e1.deptno =d1.deptno; /* 内联接: 隐式内联接: 不等值内联接:where e1.deptno <> d1.deptno 自联接:自己连接自己 等值内联接: where e1.deptno =…
在Oracle中提供了三种类型的集合操作: 并(UNION).交(INTERSECT).差(MINUS) UNION:求并,重复记录只显示一次. UNION ALL:求并集,显示所有记录信息. INTERSECT:求交集 MINUS:返回两个查询结果的差集 ​ ​ 以下我们来介绍下关于oracle的集合运算: 一.数据准备 根据emp表数据创建emp10表 create table emp10 as (select * from emp where deptno=10); 当前表数据: emp1…
一.多表查询综合练习 1.  列出高于在30部门工作的所有人员的薪金的员工的姓名.部门名称.部门编号.部门人数 分析: 需要的员工信息: |-emp表:姓名.部门编号 |-dept表:部门名称.部门编号 |-emp表:统计部门人数 确认关联关系: emp.deptno=dept.deptno 1)    查询出在30部门工作的所有人员的薪金 ; 2)    找出工资大于30部门的员工的姓名.部门编号(返回多行单列数据,在where子句子查询) select e.ename, e.deptno,…
sql常用联合查询的 join on . left join(左连接) . right join (右连接).inner join (等值连接)以及常用的集合运算有:union.unionall.minus.intersect的效果和总结. 若有人问我用select * from a,b where a.id=b.id;这种基础的语法就能完成我想要的结果,为什么用join等语法呢,答案是:这样做,极大的提高的查询效率. 首先接着用上一篇的book表和pbook表: 首先把join on和inne…
概述 为什么使用集合运算: 在集合运算中比联接查询和EXISTS/NOT EXISTS更方便. 并集运算(UNION) 并集:两个集合的并集是一个包含集合A和B中所有元素的集合. 在T-SQL中.UNION集合运算可以将两个输入查询的结果组合成一个结果集.需要注意的是:如果一个行在任何一个输入集合中出现,它也会在UNION运算的结果中出现.T-SQL支持以下两种选项: (1)UNION ALL:不会删除重复行 -- union all select country, region, city f…
一.多表查询 1.内连接 一般使用INNER JOIN关键字指定内连接,INNER可以省略,默认表示内连接.查询结果中只包含两表的公共字段值相等的行,列可以是两表中的任意列 2.外连接 包括左外连接.右外连接.全外连接 (1)左外连接 LEFT JOIN 结果集中包括两表连接后满足ON后面指定的连接条件的行,还显示JOIN关键字左侧表中所有满足检索条件的行,如何左表的某行在右表中没有匹配行,则在结果中,右表的所有选择列均为NULL. (2)右外连接 RIGHT JOIN 是左外连接的反向连接.…
交集 INTERSECT :取两个查询结果集的共有部分 SELECT DEPTNO FROM EMP INTERSECT SELECT DEPTNO FROM DEPT;   补集 MINUS :用第一个查询结果集减去第二个查询结果集的结果(常用于检测两个表数据是否一致) SELECT DEPTNO FROM EMP MINUS SELECT DEPTNO FROM DEPT; SELECT DEPTNO FROM DEPT MINUS SELECT DEPTNO FROM EMP; 并集 UN…
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  …
概述 目前企业应用系统使用的大多数据库都是关系型数据库,关系数据库依赖的理论就是针对集合运算的关系代数.关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式.不过我们在工作中发现,很多人在面对复杂的数据库运算逻辑时会采用游标.循环.自定义函数等方式处理,因为游标是一种比较熟悉和舒适的面向过程的编程方式,很符合我们一般的逻辑思维习惯,可很不幸,这会导致糟糕的性能.显然,SQL的总体目的是你要实现什么,而不是怎样实现.大道至简,我们在工作与学习的过程中经常会发现,更好的解决方案往往是简…
1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据:建立.修改和删除数据对象:控制对数据和数据对象的读写:保证数据库一致性和完整性. 易于移植性. 1.2 SQL语言的分类 数据查询语言(DQL),主要是SELECT语句. 数据操纵语言(DML),主要包括INSERT.UPDATE.DELETE. 事务控制语言(TCL),主要包括COMMIT.RO…
7 集合运算 7-1 表的加减法 本章将会和大家一起学习“集合运算”操作.在数学领域,“集合”表示“(各种各样的)事物的总和”:在数据库领域,表示“记录的集合”.具体来说,表.视图和查询的执行结果都是“记录的集合”. 所谓集合运算,就是对满足同一规则的记录进行的加减等“四则运算”.通过集合运算,可以得到两张表中记录的集合,或者是公共记录的集合,又或者是其中某张表记录的集合.像这样用来进行集合运算的运算符称为“集合运算符”. UNION等集合运算符通常都会除去重复的记录. 表的加法-UNION C…
4.1 表的加减法 4.1.1 什么是集合运算 集合在数学领域表示"各种各样的事物的总和", 在数据库领域表示记录的集合. 具体来说,表.视图和查询的执行结果都是记录的集合, 其中的元素为表或者查询结果中的每一行. 在标准 SQL 中, 分别对检索结果使用 UNION, INTERSECT, EXCEPT 来将检索结果进行并,交和差运算, 像UNION,INTERSECT, EXCEPT这种用来进行集合运算的运算符称为集合运算符. 以下的文氏图展示了几种集合的基本运算. [图片来源于网…
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础]04.表表达式-上篇 [T-SQL基础]04.表表达式-下篇 [T-SQL基础]05.集合运算 [T-SQL基础]06.透视.逆透视.分组集 [T-SQL基础]07.数据修改 [T-SQL基础]08.事务和并发 […
Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 300    ; set pagesize 30     ; 编辑sql命令: ed a.sql 执行 @a 切换用户: conn User/passwd   [as sysdba|sysoper ] conn system/manager conn sys/change_on_install  as…
Oracle学习系列6 ************************************************************************************ 删除约束(重点): 格式: alter table person drop constraint constraint_name ; 创建person表: create table person( UID varchar() name varchar() not null, //非空约束 age numb…
用 startup 命令启动数据库,用 shutdown 命令关闭数据库 Oracle SQL 语句由如下命令组成:  数据定义语言(DDL),包括 CREATE (创建)命令.ALTER (修改)命令.DROP(删 除)命令等.  数据操纵语言(DML),包括 INSERT(插入)命令.UPDATE(更新)命令.DELETE (删除)命令.SELECT … FOR UPDATE(查询)等.  数据查询语言(DQL),包括基本查询语句.Order By 子句.Group By 子句等. …