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好友(642808185),注明添加缘由

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

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

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

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

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

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

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

    在hibernate中进行多表查询,每个表中各取几个字段,也就是说查询出来的结果集并没有一个实体类与之对应,如何解决这个问题? 解决方案一,按照Object[]数据取出数据,然后自己组bean 解决方 ...

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

    1.定义 集合运算会对两个输入查询的结果集进行逐行比较,根据比较结果和所使用的集合运算来确定某一行是否应该包含在集合运算的结果中.因为集合运算是针对集合之间进行的计算,所以集合运算涉及的两个查询不能包 ...

  3. SQL基础--查询之四--集合查询

    SQL基础--查询之四--集合查询

  4. SQL连接、嵌套和集合查询---

    SQL连接.嵌套和集合查询 一:连接查询 1 .不同表之间的连接查询 例 查询每个学生及其选修课程的情况. 本查询实际上是涉及Students与Reports两个表的连接操作.这两个表之间的联系是通过 ...

  5. 二开获取yigo设计器里查询集合里中的某个SQL

    package com.bokesoft.lrp_v3.mid.dongming.service; import java.math.BigDecimal; import java.util.Arra ...

  6. oracle SQL多表查询

    SQL多表查询 1.集合理论 1.1 什么是集合 具有某种特定性质的事物的总体. 集合的特性:无序性.互异性.确定性. 一个集合可以小到从一个表中取出一行中的一列.              1 ro ...

  7. .Net程序员学用Oracle系列(14):子查询、集合查询

    1.子查询 1.1.子查询简介 1.2.WITH 子查询 2.集合查询 2.1.UNION 和 UNION ALL 2.2.MINUS 2.3.INTERSECT 2.4.集合运算与 ORDER BY ...

  8. Oracle数据库多表查询,子查询,集合运算

    记得自己要敲o~~~ select * from bonus; select * from salgrade; from dual; --笛卡尔积:两张表的乘积 select * from emp,d ...

  9. 08Microsoft SQL Server 数据查询

    Microsoft SQL Server 数据查询 单表查询所有列 --查询所有行所有列 select all * from table; --查询不重复行的所有列 select distinct * ...

随机推荐

  1. Windows下好用到必须开机自启的小工具

    折腾过linux,黑苹果,最后还是回到了盖茨大叔的windows.得出的结论是,日常使用的话,折腾Linux还不如把精力去拿去折腾windows.分享下折腾的成果,介绍下一些很不错的小工具.     ...

  2. 突然想起android与mfc差异

    两者都可以算作是客户端程序,都是做上位机用的.而且都是被动执行. 相同点: 1.MFC中,它是由 project的名字 里面的某个成员函数来初始化,窗体,以及窗体里面的变量. 后面都是监听消息循环.数 ...

  3. Asp.Net(C#) MD5 加密

    /// <summary> /// MD5 字符串加密  /// </summary> /// <param name="str">需要加密的字 ...

  4. 使用Android&#160;studio作按键切换界面

    一.新建工程 二.新建一个按键             android:layout_width="wrap_content"         android:layout_hei ...

  5. 《javascript语言精粹》读书笔记 Item1 精华与语法

    第一章 精华 任何语言都有其精华的部分和鸡肋的部分,javascript也不例外,而且鸡肋的部分还很多.但javascript的流行却不受他的质量影响. javascript为何如此流行?因为他是we ...

  6. Python列表的深浅复制

    概述 Python的列表可以复制,但是这里面有浅复制和深复制,我相信有些人不明白什么是深复制和浅复制,今天我们就来谈谈. = 号复制 #!/usr/bin/env python # -*- codin ...

  7. [linux系统]XFS (vda3):Corruption detected.Unmount and run xfs_repair 简单解决办法

    今天kvm的centos系统,rm -rf时报错,具体如下: rm: cannot remove ‘log-0/case1/log_net’: Input/output errorrm: cannot ...

  8. js某一元素在数组中的索引

    第一种:数组遍历 function search(arr,dst){ var i = arr.length; while(i-=1){ if (arr[i] == dst){ return i; } ...

  9. classList用法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Nodejs脚手架搭建基于express的应用

    原文链接:https://www.cnblogs.com/FE-yanyi1993/p/6413042.html 这篇写的非常详细,此处只做记录. 1.安装生成器 $ npm install expr ...