`
文艺的程序猿
  • 浏览: 102441 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

SQL中JOIN和UNION区别

sql 
阅读更多
   join 是两张表做交连后里面条件相同的部分记录产生一个记录集,union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集。

1.JOIN和UNION区别

join 是两张表做交连后里面条件相同的部分记录产生一个记录集,
union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集 。

JOIN用于按照ON条件联接两个表,主要有四种:
INNER JOIN:内部联接两个表中的记录,仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。我理解的是只要记录不符合ON条件,就不会显示在结果集内。
LEFT JOIN / LEFT OUTER JOIN:外部联接两个表中的记录,并包含左表中的全部记录。如果左表的某记录在右表中没有匹配记录,则在相关联的结果集中右表的所有选择列表列均为空值。理解为即使不符合ON条件,左表中的记录也全部显示出来,且结果集中该类记录的右表字段为空值。
RIGHT JOIN / RIGHT OUTER JOIN:外部联接两个表中的记录,并包含右表中的全部记录。简单说就是和LEFT JOIN反过来。
FULL JOIN / FULL OUTER JOIN:完整外部联接返回左表和右表中的所有行。就是LEFT JOIN和RIGHT JOIN和合并,左右两表的数据都全部显示。

2.JOIN的基本语法:
Select table1.* FROM table1 JOIN table2 ON table1.id=table2.id
UNION运算符

将两个或更多查询的结果集组合为单个结果集,该结果集包含联合查询中的所有查询的全部行。UNION的结果集列名与UNION运算符中第一个Select语句的结果集的列名相同。另一个Select语句的结果集列名将被忽略。
其中两种不同的用法是UNION和UNION ALL,区别在于UNION从结果集中删除重复的行。如果使用UNION ALL 将包含所有行并且将不删除重复的行。

3.UNION和UNION ALL的区别:

union 检查重复
union all 不做检查
比如 select 'a' union select 'a' 输出就是一行 a
比如 select 'a' union all select 'a' 输出就是两行 a
分享到:
评论

相关推荐

    SQL中JOIN和UNION区别、用法及示例介绍

    在SQL中,JOIN和UNION是两种非常重要的操作,它们用于处理多个表的数据结合,但它们的作用和原理有所不同。 JOIN操作主要用于将两个或更多表的数据根据特定条件进行合并。JOIN有四种基本类型: 1. INNER JOIN(内...

    SQL 语法 SQL 总结 SQL教程

    SQL Union SQL Select Into SQL Create DB SQL Create Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Create Index SQL Drop SQL Alter ...

    PL/SQL Join实例分析

    在PL/SQL中,全连接可以通过UNION操作结合左连接和右连接来实现,但请注意,这并不完全等同于直接使用FULL OUTER JOIN,因为顺序可能影响结果列的标题。 示例: ``` SELECT * FROM a Aa FULL OUTER JOIN b Bb ON...

    SQL.rar_union

    在SQL语言中,`UNION` 和 `UNION ALL` 是两种重要的集合操作符,用于合并来自多个SELECT语句的结果集。在这个主题中,我们将深入探讨它们的区别、使用场景以及如何与连接查询、嵌套查询和分组查询相结合。 首先,`...

    sqlserver union

    在SQL Server中,`UNION`操作符是用于合并两个或更多`SELECT`语句的结果集,它只返回唯一的、不重复的行。这个概念对于数据库查询和数据整合至关重要,尤其是当你需要从多个表或查询中获取独特的数据时。下面我们将...

    mysql_adv_select.rar_any left join_union

    结合使用`LEFT JOIN`和`UNION ALL`,我们可以构造一个复杂的查询,首先使用`LEFT JOIN`从文章表中获取数据,并关联到分类表以获取对应的分类名称,然后通过`UNION ALL`将不同条件下的查询结果整合在一起。...

    JS代码防止SQL注入的方法(超简单)

    alert("请您不要在参数中输入特殊字符和SQL关键字!"); this.value = ''; } }); document.getElementById('password').addEventListener('blur', function() { if (!checkInput(this.value)) { alert("请您...

    Sql 语句详解

    20. SQL UNION 和 UNION ALL 操作符 26 21. SQL SELECT INTO 语句 28 22. SQL CREATE DATABASE 语句 29 23. SQL CREATE TABLE 语句 29 24. SQL 约束 (Constraints) 30 25. SQL NOT NULL 约束 31 ……

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

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

    MySQL中union和join语句使用区别的辨析教程

    union和join是需要联合多张表时常见的关联词,具体概念我就不说了,想知道上网查就行,因为我也记不准确。 先说差别:union对两张表的操作是合并数据条数,等于是纵向的,要求是两张表字段必须是相同的(Schema of ...

    SQL_92和SQL_2003标准

    1. **增强的SELECT语句**:引入了更复杂的查询结构,如子查询、联接(JOIN)和并集(UNION)。允许在SELECT语句中使用集合操作,提升了数据检索的灵活性。 2. **事务处理**:定义了事务的概念,包括BEGIN ...

    用C#实现对DataTable的JOIN,GROUP BY,FILTER,UNIONALL,DISTINCT

    用C#实现对DataTable的JOIN,GROUP BY,FILTER,UNIONALL,DISTINCT

    Inside Microsoft SQL Server 2008 T-SQL Programming

    T-SQL,即Transact-SQL,是SQL的一个扩展,主要用于微软的SQL Server系统中,用于数据查询、更新、插入和删除,以及复杂的存储过程和触发器的编写。 在SQL Server 2008版本中,T-SQL得到了许多增强和改进,这本书将...

    SQL代码 sql练习

    在IT领域,SQL(Structured Query Language)是...对于有一定基础的学习者,这些练习则可以用来检验和提升自己的SQL水平,拓宽知识面,更好地应对实际工作中的挑战。通过不断的练习和实践,你将在SQL的世界里游刃有余。

    Linq To Sql Concat Union Intersect Except

    在LINQ to SQL 中,`Concat`、`Union`、`Intersect` 和 `Except` 是四个常用的集合操作符,它们用于处理两个数据源之间的关系,帮助开发者实现数据的合并、筛选和比较。 1. **Concat(连接)** - `Concat` 方法...

    sql 语言中文手册

    在《SQL 参考手册》中,可能详细讲解了如何编写复杂的查询,包括使用`WHERE`子句过滤结果,`GROUP BY`和`HAVING`进行数据分组,以及`JOIN`操作连接多个表。`ORDER BY`用于排序结果,而`UNION`和`INTERSECT`则用于...

    使用SQL实现小计,合计以及排序

    在SQL(Structured Query Language)中,小计、合计与排序是数据分析和报表生成的重要操作。本文将详细解析如何使用SQL来实现这些功能。 首先,小计通常是指在某个特定分类或分组下的总和,而合计则是指所有数据的...

    sql server 2005 技术内幕t-sql查询源码

    T-SQL(Transact-SQL)是Microsoft SQL Server数据库管理系统中使用的SQL扩展版本,它在标准SQL的基础上增加了一系列特有的语法和功能,使得数据库管理和开发更为高效。 本书分为九个章节,全面覆盖了T-SQL查询的...

Global site tag (gtag.js) - Google Analytics