zoukankan      html  css  js  c++  java
  • SQL Server内连接、外连接、交叉连接

    前言

    在数据库查询中,我们常常会用到的表连接查询,而我自己在工作中也是时常用这些表连接查询。而就在刚刚我却还没有搞清楚数据库表连接到底有哪几种,

    这几种表连接查询方式又有什么区别,实属惭愧!借以此文以谨记。

    连接方式

    数据库表连接查询分三种:内连接、外连接、交叉连接

    下面我们就来分别说说这三种连接。

    内连接(inner join)

    内连接又分为:等值连接、不等连接、自然连接

    1、等值连接

    我们在连接多表查询时,连接条件中使用等号(=)运算符,其查询结果中列出被连接表中的所有列,包括其中的重复列

    2、不等连接

    我们在连接多表查询时,在连接条件中使用除等号(=)之外运算符(>、<、<>、>=、<=、!>和!<)

    3、自然连接

    我们在连接多表查询时,连接条件和等值连接相同,但是会删除连接表中的重复列

    外连接(outer join)

    外连接分为:左连接(left join)或左外连接(left outer join)、右连接(right join)或右外连接(right outer join)、全连接(full join)或全外连接(full outer join)。

    1、左连接

    我们在连接多表查询时,返回左表中的所有行,如果左表中行在右表中没有匹配行,则结果中右表中的列返回空值。

    2、右连接

    我们在连接多表查询时,恰与左连接相反,返回右表中的所有行,如果右表中行在左表中没有匹配行,则结果中左表中的列返回空值。

    3、全连接

    我们在连接多表查询时,返回左表和右表中的所有行。当某行在另一表中没有匹配行,则另一表中的列返回空值。

    交叉连接(cross join)

    交叉连接:也称迪卡尔积

    不带where条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积,如果带where,返回或显示的是匹配的行数。

    注:cross join后加条件只能用where,不能用on
  • 相关阅读:
    129. Sum Root to Leaf Numbers
    113. Path Sum II
    114. Flatten Binary Tree to Linked List
    112. Path Sum
    100. Same Tree
    300. Longest Increasing Subsequence
    72. Edit Distance
    自定义js标签库
    JS 实现Table相同行的单元格自动合并示例代码
    mysql 高版本only_full_group_by 错误
  • 原文地址:https://www.cnblogs.com/rampb/p/4393475.html
Copyright © 2011-2022 走看看