【SQL查询】集合查询之INTERSECT

SQL查询】集合查询之INTERSECT

1  BLOG文档结构图

2  前言部分

2.1  导读和注意事项

各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:

① 集合查询之INTERSECT的使用

Tips:

① 本文在itpub(http://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和微信公众号(xiaomaimiaolhr)上有同步更新。

② 文章中用到的所有代码、相关软件、相关资料及本文的pdf版本都请前往小麦苗的云盘下载,小麦苗的云盘地址见:http://blog.itpub.net/26736162/viewspace-1624453/

③ 若网页文章代码格式有错乱,请下载pdf格式的文档来阅读。

④ 在本篇BLOG中,代码输出部分一般放在一行一列的表格中。其中,需要特别关注的地方我都用灰色背景和粉红色字体来表示,比如在下边的例子中,thread 1的最大归档日志号为33,thread 2的最大归档日志号为43是需要特别关注的地方;而命令一般使用黄色背景和红色字体标注;对代码或代码输出部分的注释一般采用蓝色字体表示。


List of Archived Logs in backup set 11

Thrd Seq     Low SCN    Low Time            Next SCN   Next Time

---- ------- ---------- ------------------- ---------- ---------

1    32      1621589    2015-05-29 11:09:52 1625242    2015-05-29 11:15:48

1    33      1625242    2015-05-29 11:15:48 1625293    2015-05-29 11:15:58

2    42      1613951    2015-05-29 10:41:18 1625245    2015-05-29 11:15:49

2    43      1625245    2015-05-29 11:15:49 1625253    2015-05-29 11:15:53

[ZHLHRDB1:root]:/>lsvg -o

T_XLHRD_APP1_vg

rootvg

[ZHLHRDB1:root]:/>

00:27:22 SQL> alter tablespace idxtbs read write;

====》2097152*512/1024/1024/1024=1G

本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力。

2.2  本文简介

最近心情很低落,今天又下雨,本来想着睡到12点的,结果一发小打电话过来,聊了聊近况,然后问了一道SQL的面试题,这对我而言都是最简单的查询。由于发小是刚入IT行业,准备找Java的工作,所以心里还是担心他是否听懂我的意思了,稳妥起见,还是自己写段代码发他吧。在这里也预祝发小可以顺利找到自己心仪的工作。

发小的问题是:如何找出2张表中的相同数据然后插入到第三张空表中?这个面试题的解答有多种办法,但是最直接也最简单的方式就是集合查询,利用INTERSECT这个交集查询就可以了。下面是整个实验过程。

第二章 实验部分


SQL> CREATE TABLE T_A (ID NUMBER,NAME VARCHAR2(5));

Table created.

SQL> CREATE TABLE T_B (ID NUMBER,NAME VARCHAR2(5));

Table created.

SQL> CREATE TABLE T_C (ID NUMBER,NAME VARCHAR2(5));

Table created.

SQL> INSERT INTO T_A VALUES(1,‘a‘);

1 row created.

SQL> INSERT INTO T_A VALUES(2,‘b‘);

1 row created.

SQL> INSERT INTO T_A VALUES(3,‘c‘);

1 row created.

SQL> INSERT INTO T_A VALUES(4,‘d‘);

1 row created.

SQL> INSERT INTO T_A VALUES(5,‘e‘);

1 row created.

SQL> INSERT INTO T_B VALUES(3,‘c‘);

1 row created.

SQL> INSERT INTO T_B VALUES(4,‘d‘);

1 row created.

SQL> INSERT INTO T_B VALUES(6,‘f‘);

1 row created.

SQL> INSERT INTO T_B VALUES(7,‘g‘);

1 row created.

SQL> commit;

Commit complete.

SQL> SELECT * FROM T_C;

no rows selected

SQL> INSERT INTO T_C

2  SELECT ID ,NAME FROM T_A

3  INTERSECT

4  SELECT ID ,NAME FROM T_B;

2 rows created.

SQL> COMMIT;

Commit complete.

SQL> SELECT * FROM T_C;

ID NAME

---------- -----

3 c

4 d

SQL>

第三章 实验中用到的SQL总结


DROP TABLE T_A;

DROP TABLE T_B;

DROP TABLE T_C;

CREATE TABLE T_A (ID NUMBER,NAME VARCHAR2(5));

CREATE TABLE T_B (ID NUMBER,NAME VARCHAR2(5));

CREATE TABLE T_C (ID NUMBER,NAME VARCHAR2(5));

INSERT INTO T_A VALUES(1,‘a‘);

INSERT INTO T_A VALUES(2,‘b‘);

INSERT INTO T_A VALUES(3,‘c‘);

INSERT INTO T_A VALUES(4,‘d‘);

INSERT INTO T_A VALUES(5,‘e‘);

INSERT INTO T_B VALUES(3,‘c‘);

INSERT INTO T_B VALUES(4,‘d‘);

INSERT INTO T_B VALUES(6,‘f‘);

INSERT INTO T_B VALUES(7,‘g‘);

commit;

INSERT INTO T_C

SELECT ID ,NAME FROM T_A

INTERSECT

SELECT ID ,NAME FROM T_B;

About Me


...............................................................................................................................

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 本文在itpub(http://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/viewspace-2128358/

● 本文博客园地址:http://www.cnblogs.com/lhrbest/p/6058227.html

● 本文pdf版及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

● QQ群:230161599     微信群:私聊

● 联系我请加QQ好友(642808185),注明添加缘由

● 于 2016-11-13 09:00 ~ 2016-11-13 11:00 在泰兴公寓完成

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

...............................................................................................................................

手机长按下图识别二维码或微信客户端扫描下边的二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,免费学习最实用的数据库技术。

时间: 2024-10-23 14:34:55

【SQL查询】集合查询之INTERSECT的相关文章

Oracle系列:(15)集合查询

使用并集运算,查询20号部门或30号部门的员工信息 select * from emp where deptno = 20 union select * from emp where deptno = 30; 注意: union:二个集合中,如果都有相同的,取其一 union all:二个集合中,如果都有相同的,都取 使用set time/timing on,打开时间的开关 set time on; set time off; 使用set time/timing off,关闭时间的开关 set 

Hibernate 笔记 HQL查询 条件查询,聚集函数,子查询,导航查询

本笔记继续使用dept部门表,emp员工表,一对多多对一双向映射. 1 条件查询 1.1    查询 员工表emp中 年龄eage小于30,月薪esal大于20000的员工姓名ename sql:select ename from emp where eage<? and esal >?; hql: select ename from Emp where eage<? and esal >? 1.2 问号的设置与别名 问号(?)的设置使用.setParameter(位置, 属性值)

SQL SERVER技术内幕之6 集合查询

1.定义 集合运算会对两个输入查询的结果集进行逐行比较,根据比较结果和所使用的集合运算来确定某一行是否应该包含在集合运算的结果中.因为集合运算是针对集合之间进行的计算,所以集合运算涉及的两个查询不能包含Order By子句.包含Order By子句的查询可以确保结果的排列顺序,因此,这样的查询返回的不是集合,而是游标. ANSI SQL对每种集合运算都支持两个选项:DISTINCT(默认值)和ALL,DISTINCT逻辑上可以从两个输入的多集中消除重复的行,然后返回一个集合.ALL对两个多集进行

子查询、集合查询

子查询.集合查询 1.子查询 1.1.子查询简介 1.2.WITH 子查询 2.集合查询 2.1.UNION 和 UNION ALL 2.2.MINUS 2.3.INTERSECT 2.4.集合运算与 ORDER BY 3.DISTINCT 子句 3.1.普通用法 3.2.做聚合函数的参数 4.总结 1.子查询 1.1.子查询简介 子查询是一个嵌套在 SELECT.INSERT.UPDATE 或 DELETE 语句或其他子查询中的查询.任何允许使用表达式的地方都可以使用子查询,换句话说,子查询几

SQL(结构化查询语句)

SQL概述 SQL会话 用户利用SQL命令与关系型数据库进行交互时发生的事情,当用户与数据库建立会话时,会话就被创建了.用Connect user@database 命令可以申请连接数据库,用Disconnect命令可以断开连接 SQL命令的类型 数据定义语言(DDL) 用于创建和重构数据库对象,比如创建(create table/Index/view).修改(alter table/index/view)和删除(drop table/index/view)表 数据操作语言(DML) 用于操作关

Oracle基本语法&amp;&amp;函数&amp;&amp;子查询&amp;&amp;分页查询&amp;&amp;排序&amp;&amp;集合操作&amp;&amp;高级分组函数

一.  数据库 手工---文件管理---数据库 DB:Database 数据库. DBMS:管理数据库的软件.(oracle) 主流关系数据库: 1.      Oracle 2.      DB2 3.      SQL Server 基本没人使 4.      MySQL  基本没人用,免费 Linux 开源,可以发现漏洞补上 Windows服务器会有补丁,数据易泄漏 eclipse 日食 数据表(Table): 表的行(Row):记录 表的列(Column):字段 二.  关系型数据库 一

数据库 - 连接查询、嵌套查询、集合查询

连接查询 连接查询:同时涉及多个表的查询 连接条件或连接谓词:用来连接两个表的条件 一般格式: [<表名1>.]<列名1> <比较运算符> [<表名2>.]<列名2> [<表名1>.]<列名1> BETWEEN [<表名2>.]<列名2> AND [<表名2>.]<列名3> 连接字段:连接谓词中的列名称 连接条件中的各连接字段类型必须是可比的,但名字不必是相同的 嵌套循环法(

SQL Server之 (二) SQL语句 模糊查询 空值处理 聚合函数

(二) SQL语句  模糊查询  空值处理  聚合函数 自己学习笔记,转载请注明出处,谢谢!---酸菜 SQL :结构化查询语言(Structured Query Language),关系数据库管理系统的标准语言. Sybase与Mircosoft对标准SQL做了扩展:T-SQL (Transact-SQL); 注:①SQL对大小写的敏感取决于排序规则,一般不敏感; ②SQL对单引号的转义,用两个单引号来表示一个单引号; ③SQL执行顺序: 1→2→3→4 select  * ---------

6、SQL Server 数据查询

一.使用SELECT检索数据 数据查询是SQL语言的中心内容,SELECT 语句的作用是让数据库服务器根据客户要求检索出所需要的信息资料,并按照规定的格式进行整理,返回给客户端. SELECT 语句的基本结构 [WITH<common_tale_expression>] SELECT select_list [INTO new_table_name] [FROM table_source][where search_condition] [GROUP BY group_by_expressio