精华内容
下载资源
问答
  • SQL语句的并集UNION 交集JOIN(内连接,外连接)等介绍更新时间:2014年07月06日 00:35:56 投稿:mdxy-dxy这篇文章主要介绍了SQL语句的并集UNION,交集JOIN(内连接,外连接),交叉连接(CROSS JOIN笛卡尔积),差集(NOT ...

    SQL语句的并集UNION 交集JOIN(内连接,外连接)等介绍

    更新时间:2014年07月06日 00:35:56   投稿:mdxy-dxy

    这篇文章主要介绍了SQL语句的并集UNION,交集JOIN(内连接,外连接),交叉连接(CROSS JOIN笛卡尔积),差集(NOT IN) ,需要的朋友可以参考下

    1.

    a. 并集UNION SELECT column1, column2 FROM table1 UNION SELECT column1, column2 FROM table2

    b. 交集JOIN SELECT * FROM table1 AS a JOIN table2 b ON a.name=b.name

    c. 差集NOT IN SELECT * FROM table1 WHERE name NOT IN(SELECT name FROM table2)

    d. 笛卡尔积 SELECT * FROM table1 CROSS JOIN table2 与 SELECT * FROM table1,table2相同

    2.

    SQL中的UNION 与UNION ALL的区别是,前者会去除重复的条目,后者会仍旧保留。

    a. UNION SQL Statement1 UNION SQL Statement2

    b. UNION ALL SQL Statement1 UNION ALL SQL Statement2

    3.

    SQL中的各种JOIN SQL中的连接可以分为内连接,外连接,以及交叉连接(即是笛卡尔积)

    a. 交叉连接CROSS JOIN 如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积; 举例 SELECT * FROM table1 CROSS JOIN table2 等同于 SELECT * FROM table1,table2 一般不建议使用该方法,因为如果有WHERE子句的话,往往会先生成两个表行数乘积的行的数据表然后才根据WHERE条件从中选择。 因此,如果两个需要求交际的表太大,将会非常非常慢,不建议使用。

    b. 内连接INNER JOIN 如果仅仅使用 SELECT * FROM table1 INNER JOIN table2 没有指定连接条件的话,和交叉连接的结果一样。 但是通常情况下,使用INNER JOIN需要指定连接条件。 -- 等值连接(=号应用于连接条件, 不会去除重复的列)

    SELECT * FROM table1 AS a INNER JOIN table2 AS b on a.column=b.column -- 不等连接(>,>=,,!)

    例如 SELECT * FROM table1 AS a INNER JOIN table2 AS b on a.column<>b.column -- 自然连接(会去除重复的列)

    c. 外连接OUTER JOIN 首先内连接和外连接的不同之处: 内连接如果没有指定连接条件的话,和笛卡尔积的交叉连接结果一样,但是不同于笛卡尔积的地方是,没有笛卡尔积那么复杂要先生成行数乘积的数据表,内连接的效率要高于笛卡尔积的交叉连接。 指定条件的内连接,仅仅返回符合连接条件的条目。外连接则不同,返回的结果不仅包含符合连接条件的行,而且包括左表(左外连接时), 右表(右连接时)或者两边连接(全外连接时)的所有数据行。

    1)左外连接LEFT [OUTER] JOIN 显示符合条件的数据行,同时显示左边数据表不符合条件的数据行,右边没有对应的条目显示NULL

    例如 SELECT * FROM table1 AS a LEFT [OUTER] JOIN ON a.column=b.column

    2)右外连接RIGHT [OUTER] JOIN 显示符合条件的数据行,同时显示右边数据表不符合条件的数据行,左边没有对应的条目显示NULL

    例如 SELECT * FROM table1 AS a RIGHT [OUTER] JOIN ON a.column=b.column

    3)全外连接显示符合条件的数据行,同时显示左右不符合条件的数据行,相应的左右两边显示NULL

    相关文章

    1a1b05c64693fbf380aa1344a7812747.png

    本文为大家详细介绍下如何获取MSSQL 表结构中字段的备注、主键等信息,感兴趣的朋友可以参考下2013-09-09

    4f55910a645b073bc4fc65dc10dc14bd.png

    Transact-SQL(又称 T-SQL),是在 Microsoft SQL Server 和 Sybase SQL Server 上的 ANSI SQL 实现,这篇文章主要介绍了Sql Server数据库常用Transact-SQL脚本,需要的朋友可以参考下2019-12-12

    0ea3c7666119d5615e582f823fb3fad6.png

    对于多级分类常规的处理方法,很多程序员可能是用程序先读取一级分类记录,然后通过一级分类循环读取下面的子分类2012-08-08

    4f96a78db829b1556ff16de21e013c7a.png

    这篇文章主要介绍了SQL Server中检查字段的值是否为数字的方法,使用ISNUMERIC函数实现,需要的朋友可以参考下2014-06-06

    8cc1031babc6aff2319f1c6af8544aa0.png

    这篇文章主要介绍了SQL语句性能优化(续),设计到性能优化相关知识,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起学习吧2016-03-03

    0c932a99bb7b6f23c937db507070cc7b.png

    本文给大家分享一段sql语句实现SqlServer快速检索某个字段在哪些存储过程中,代码非常简单,需要的朋友参考下2017-03-03

    cca732bf65a93ed2ec0ac80c638460fe.png

    c语言解析http请求表单内容,基于C语言的CGI开发,大家参考使用吧2013-12-12

    2d9f31f2af7b675a3d153d2b7f1035a7.png

    这篇文章主要介绍了SQL Sever查询语句大全集锦,需要的朋友可以参考下2016-06-06

    b452cee8ec5cd9e58ab98eba17281e59.png

    mssql中得到当天数据的语句...2007-08-08

    f4838ec7e2d4da28e0b57d4e852dadd4.png

    经过一段时间的学习,也对数据库有了一些认识,数据库基本是由表,关系,操作组成;对于初学者首先要学的2012-08-08

    最新评论

    展开全文
  • --Oracle、Mysql、Sql Server都支持下面的并集查询 select classid from student union select classid from class; select classid from student union all select classid from class; 结果集: &nbs.

    在这里插入图片描述
    1.并集:将查询出的两个结果合并成一个结果集

    – union 去重,合并后的结果都是唯一
    – union all不去重,合并后的结果有可能出现重复的

    --Oracle、Mysql、Sql Server都支持下面的并集查询
    select  classid from student
    union
    select classid from class;
    
    select  classid from student
    union all
    select classid from class;   
    

    结果集:
        union                                      union all
    在这里插入图片描述
    2.交集:返回两个查询结果集中相同部分的结果

    select  classid from student
    intersect 
    select classid from class;  -- Oracle、Sql Server中的查询方法
    
    select s.*
    from (select classid from student) s
    join (select classid from class) c
    on s.classid=c.classid;        -- MySQL数据库中的查询方法(内连接/等值连接)
    

    结果集:
    在这里插入图片描述
    3.差集:返回第一个查询结果中与第二个查询结果不相同的那部分记录。 查询结果1-查询结果2

    select classid form student
    minus
    select classid from classid  -- Oracle 数据库中的查询方法
    
    select classid form student
    except
    select classid from classid  -- Sql Server数据库中的查询方法
    
    select classid 
    from student 
    where classid not in(select classid from class);  -- MySQL 查询方法1
    
    select s.*
    from (select classid from student) s
    left join (select classid from class) c
    on s.classid=c.classid; 
    where c.classid is null;   -- MySQL 查询方法2(左外连接)
    

    结果集:
    在这里插入图片描述
    总结:
    1.Oracle数据库中的关键字,union 并集,去重 ; union all 并集,不去重 ; intersect 交集,取相同的记录;minus 差集,主表 减去 从表中与主表相同的记录

    2.Sql Server数据库中的关键字,union 并集,去重 ; union all 并集,不去重 ; intersect 交集,取相同的记录;except差集,主表 减去 从表中与主表相同的记录

    3.MySQL数据库中只有union和union all关键字,其他方法需要联系实际需求用SQL语法取获取记录

    展开全文
  • SQL求 交集 并集 差集

    2019-09-29 17:55:52
    故事是这样的….. 故事情节: 表 tb_test 有两列, colA , colB;...-- 计算并集 SELECT DISTINCT colB FROM tb_test UNION SELECT DISTINCT colA FROM tb_test -- 计算交集 SELECT DISTINCT colB FR...

    故事是这样的…..

    故事情节: 表 tb_test 有两列, colA , colB; 求 colA , colB 的并交差集…

    -- 计算并集 
    SELECT DISTINCT colB FROM tb_test 
    UNION 
    SELECT DISTINCT colA FROM tb_test
    -- 计算交集 
    SELECT DISTINCT colB FROM tb_test 
    INTERSECT 
    SELECT DISTINCT colA FROM tb_test
    -- 计算差集 
    SELECT DISTINCT colB FROM tb_test 
    EXCEPT 
    SELECT DISTINCT colA FROM tb_test

     

    转载于:https://www.cnblogs.com/BigBigLiang/p/4832613.html

    展开全文
  • 两个表A 和表 T 交集 intersect 并集 UNION SQL:select df from A union select sd from T; 在Union后不加ALL则会去除重复的列 若家ALL则会显示全部 SQL:select ...

                                                           两个表A  和表 T

            

    交集 intersect

     

    并集   UNION

    SQL:select df from A union select sd from T;

    在Union后不加ALL则会去除重复的列 若家ALL则会显示全部

    SQL: select df from A union all select sd from T;

     

    转载于:https://www.cnblogs.com/kuoAT/p/7651033.html

    展开全文
  • SQL集合运算 差集 并集 交集 SQL-3标准中提供了三种对检索结果进行集合运算的命令:并集UNION;交集INTERSECT;差集EXCEPT(在Oracle中叫做 MINUS)。在有些数据库中对此的支持不够充分,如MySql中只有UNION,...
  • 两表的交集 SQL语句如下: select A.name,B.address from A inner join B on A.id = B.A_id 查询结果为: name address 张 北京 王 上海 inner join 内连接等价于下面的sql: SELECT A.name, B.address FROM A, B ...
  • 关系数据库同样也有自己的设计思想:在 SQL 中,一切皆关系。关系模型关系模型(Relational model)由 E.F.Codd 博士于 1970 年提出,以集合论中的关系概念为基础;无论是现实世界中的实体对象还是它们之间的联系都...
  • sqlserver 交集 并集 差集

    万次阅读 2017-06-22 11:44:35
    http://www.cnblogs.com/kissdodog/archive/2013/06/24/3152743.html
  • SQL-3标准中提供了三种对检索结果进行集合运算的命令:并集UNION;交集INTERSECT;差集EXCEPT(在Oracle中叫做 MINUS)。在有些数据库中对此的支持不够充分,如MySql中只有UNION,没有其他两种。实际上这些运算都可以...
  • 07 数据分析与SQL Lesson7 (选修) SQL高级并集与性能优化 文章目录07 数据分析与SQL Lesson7 (选修) SQL高级并集与性能优化2.文本+图片:全连接(FULL OUTER JOIN)4.解决方案:全连接(FULL OUTER JOIN)7.练习:带...
  • union : 对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; union all: 对两个结果集进行并集操作,包括重复行,不进行排序; intersect : 对两个结果集进行交集操作,不包括重复行,同时进行默认规则的...
  • SQL-3标准中提供了三种对检索结果进行集合运算的命令:并集UNION;交集INTERSECT;差集EXCEPT(在Oracle中叫做 MINUS)。在有些数据库中对此的支持不够充分,如MySql中只有UNION,没有其他两种。实际上这些运算都...
  • SQL查询:并集、差集、交集

    万次阅读 2018-03-07 22:42:44
    新建两个表进行测试: test_a ID name 1 曹操 2 郭嘉 3 孙权 4 周瑜 test_b ID name 1 刘备 2 关羽 ...1.UNION形成并集  UNION可以对两个或多个结...
  • sql交集、差集、并集

    2015-08-24 17:44:00
    1.并集 SELECT Name FROM Person_1  UNION  SELECT Name FROM Person_22.交集 SELECT Name FROM Person_1  INTERSECT  SELECT Name FROM Person_2 3.差集 SELECT Name FROM Person_1  EXCEPT  ...
  • SQL并集与交集

    2012-09-25 09:37:44
    我要取LevelU合并的一个结果集,比如2...请问使用Sql语句最简单的做法是? /* LevelU LevelC 1,2,3,5 2,3,5 0,1,2,3,4,5,6,7,8,9 1,2,3,5 1,2,3,5 3,5 9 1,2,3,5 1,2,3,5 0,1,2,3,4,5,6,7,8,9 */
  • SQL操作结果——并集、差集、交集

    千次阅读 2018-11-29 18:30:15
    针对sql操作结果,经常面临对数据取并集、差集和交集的问题,如何能更高效更快速的对数据进行操作呢? 首先需要有两个表, 这两个表需要有相同的筛选字段列,以下详解。。。 为以下展示操作,建两个数据表: ...
  • sql语句 中间表求并集

    2019-09-12 13:56:22
    数据库结构: user_name product_id 1 A 2 B 1 B 3 C 4 C 1 C 需求:哪些用户同时购买了 A,C,D?(或者说,同时购买A,C,D的用户都是那些?) A,C,D是用户临时输入的,每次都确定、但不固定。...
  • sql 交集 差集 并集 笛卡尔积 1 交集 Join 1) inner join 其处理结果与等值/自然连接相同 如 mssql : -- mssql 中 inner join 连接需要 on Connection条件 否则会报错, mysql 不会,其结果等于cross join select *...
  • 差集EXCEPT:PLAIN TEXTSQL:SELECTsaFROMsEXCEPTSELECTtaFROMt;可以写作PLAIN TEXTSQL:SELECTsaFROMsWHEREsaNOTIN(SELECTtaFROMt)上面的例子中忽略了对s和t单独的条件,这些总可以加入AND条件完成,或者使用视图。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 776
精华内容 310
关键字:

并集sql