`

sql 语句的 内连接 外连接 以及 交叉连接

 
阅读更多

sql的连接 分为三大类

1.内连接 2.外连接 3.交叉连接

 

1.内连接

内连接又分为3类  inner join

等值连接,不等值连接,自然连接

select *from table1 join table2  on table1.条件列名 = table2.条件列名

等价于

 select table1.* ,table2.* from table1 A ,table2 B where table1.条件列名 =table2.条件列名

 select * form table1 cross join table2 where table1.条件列名 = table2.条件列名

2.外连接

外连接分也分为3类

左向(外)连接 left (outer) join

取得的结果个数 = 左表的个数 如果连接后面带了条件 那么右表中不匹配的那个字段显示为null(这种情况只适用于2表之间满足一个条件的记录各表都只有一条 如果对应有多条记录 那么不能那么计算)

右向(外)连接 right(outer) join

取得的结果个数 = 右表的个数 如果连接后面带了条件 那么左表中不匹配的那个字段显示为null(这种情况只适用于2表之间满足一个条件的记录各表都只有一条 如果对应有多条记录 那么不能那么计算)

全(外)连接 full (outer)join

取得的结果个数 = 符合条件匹配的行数+左表未匹配到的行数+右表未匹配到的行数(这种情况只适用于2表之间满足一个条件的记录各表都只有一条 如果对应有多条记录 那么不能那么计算)

完整外部连接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。   

3交叉连接

cross join 取笛卡尔积

1.没有 WHERE 子句的交叉联接

将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小

即 没有where字句  取得的结果个数 = 左表行数 乘以 右表行数

注意 不带where字句的交叉连接相当于 select * from table1,table2

即 select * from table1,table2   等价于 select * from  table1CROSS JOIN table2;

2.有where字句的交叉连接

相当于内连接 +where字句条件

 

分享到:
评论

相关推荐

    SQL左连接,右连接,内连接,交叉连接,自连接

    根据连接的方式不同,可以分为左连接(LEFT JOIN)、右连接(RIGHT JOIN)、内连接(INNER JOIN)、全连接(FULL JOIN)、交叉连接(CROSS JOIN)以及自连接(SELF JOIN)。每种连接类型都有其特定的应用场景和使用...

    SQL连接查询语句实例

    本文将深入探讨几种主要的SQL连接查询类型,包括内连接(INNER JOIN)、外连接(FULL JOIN、LEFT JOIN、RIGHT JOIN)以及交叉连接(CROSS JOIN),并提供实例来帮助初学者理解。 首先,我们来看内连接(INNER JOIN...

    用数据实例解说SQL内连接、外连接、全连接、交叉连接的运用与区别.doc

    右连接的SQL语句如下: ```sql SELECT O.orderid, O.userid, U.userID, U.sname FROM t_order AS O RIGHT JOIN t_user AS U ON O.userid = U.userid ``` 结果中,用户ID为U03(周五)的用户因为没有对应的订单,...

    SQLServer实用SQL语句大全

    涵盖内连接、外连接、交叉连接以及自连接,帮助理解不同类型的查询在处理多表数据时的应用。 第8章:子查询和集合函数 介绍如何使用子查询进行嵌套查询,以及聚合函数的应用,如COUNT、SUM、AVG、MIN、MAX等。 第9...

    sql语句生成器

    5. **复杂查询**:对于JOIN操作,生成器能帮助构造多表查询,包括内连接、外连接、交叉连接等,以及自连接。 6. **聚合函数与统计分析**:提供SUM、AVG、COUNT、MAX和MIN等聚合函数,以及GROUP BY和HAVING子句的...

    SQL语句集锦.rar

    工作中常用的SQL + 超复杂SQL 交叉连接查询corss.txt 公交线路问题.txt 。。。。 充储过程--sql0.sql 分割字符串.txt 分布式查询.txt 分组排列进行更新.txt 别名.txt 动态SQL语句.txt 动态语句.txt 区分大小写.txt ...

    sql语句的多表连接查询[定义].pdf

    本篇文章将深入探讨SQL语句中的多表连接查询,包括内连接、外连接和交叉连接。 首先,多表连接查询允许我们从两个或多个相关联的表中获取数据,这些表通常通过共同的列进行关联,例如主外键关系。在关系数据库中,...

    sql语句优化建议

    4. **优化连接技术**:在处理多表连接查询时,选择合适的连接类型(如内连接、外连接、交叉连接等)和连接顺序对性能有很大影响。数据库优化器会自动选择最佳的连接策略,但在某些情况下,手动调整连接顺序或使用...

    关于SQL语句的多表连接查询

    交叉连接(CROSS JOIN)返回两个表的所有可能组合,不基于任何条件,结果集的大小是两个表记录数的乘积。 在实际应用中,连接查询常常结合WHERE子句来过滤结果,增加条件以获得更精确的数据。此外,还可以使用聚合...

    《Effective MySQL之SQL语句最优化》手册

    通过合理使用内连接(INNER JOIN)、外连接(OUTER JOIN)和交叉连接(CROSS JOIN),并结合索引来优化JOIN条件,可以有效降低查询复杂性。 此外,存储过程和视图也是SQL优化的重要工具。存储过程可以将多次数据库操作...

    自连接外连接

    本文将围绕“自连接外连接”这一主题展开,详细解析Oracle数据库中连接查询的具体实现方法,包括内连接、外连接以及自连接的概念、应用场景及语法示例。 #### 内连接(Inner Join) 内连接主要用来合并两个或多个...

    数据库内外连接举例

    主要分为内连接、外连接和交叉连接,每种连接都有其特定的应用场景和逻辑。 内连接(INNER JOIN)是最常见的连接类型,它返回两个表中列相等的行。在内连接中,查询条件通常基于两个表之间的共同列,只有当这些列的...

    sql语句在sas中的应用

    除了基本的连接类型外,还有一些更复杂的连接方式,如自连接(self join)、交叉连接(cross join)等。这些高级连接技术能够在处理复杂数据结构时提供更多的灵活性。 **3.4 集合操作** 集合操作是指将多个查询结果集...

    sql语句中join的用法

    ### SQL语句中JOIN的用法详解 在SQL查询语言中,`JOIN`是一个非常重要的概念,它允许我们从两个或多个表中提取数据。通过使用不同类型的JOIN操作,我们可以根据表之间的关系来灵活地组织数据。下面我们将详细介绍几...

    sql各种连接

    SQL 连接查询可以分为交叉连接、内连接、外连接等几种类型。 一、交叉连接(Cross Join) 交叉连接是 SQL 连接查询中的一种基本类型,它将两个表中的所有记录组合起来,形成一个新的表。交叉连接可以分为显式的和...

    右连接、左连接、全连接、内连接、交叉连接、自连接.pdf

    交叉连接返回两个表的笛卡尔积,即每个左表的记录与右表的每个记录组合。如果没有WHERE子句,结果将是左表的行数乘以右表的行数。这通常会产生大量的记录,除非有明确的筛选条件。 6. **自连接**: 自连接是将同...

    数据库内连接、外连接.ppt.ppt

    连接类型主要有内连接、外连接和交叉连接,这些方法在数据分析、报表生成和数据整合等场景中发挥着关键作用。 首先,我们来详细讨论内连接(INNER JOIN)。内连接是最常用的连接类型,它返回两个表中满足特定连接...

    sql2000各种连接查询的实现

    接下来将详细解析左连接(Left Join)、右连接(Right Join)、内连接(Inner Join)、全外连接(Full Outer Join)、交叉连接(Cross Join)以及联合查询(Union)。 ### 左连接(Left Join) 左连接(Left Join...

    SQL Server 单表多表连接语句总结..pdf

    本文主要介绍了五种类型的表连接:内部连接、外部连接(包括左连接、右连接和全外连接)、交叉连接以及自连接,并提供了相应的示例。 1. 内部连接(Inner Join): 内部连接是最常见的连接类型,它只返回两个表中...

    SQL Server 单表多表连接语句总结..docx

    本文将深入探讨各种类型的表连接,包括内部连接、外部连接(左连接、右连接、全连接)以及交叉连接,并通过实例来解释它们的工作原理。 1. 内部连接(INNER JOIN)是最常见的连接类型,它基于两个表之间的共享列值...

Global site tag (gtag.js) - Google Analytics