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
  • 相关阅读:
    面试回忆录(一)
    2013国内IT行业薪资对照表【技术岗】
    腾讯2013笔试题—web前端笔试题 (老题练手)
    Nicholas C. Zakas(JS圣经:JavaScript高级程序设计作者)如何面试前端工程师
    Js中 关于top、clientTop、scrollTop、offsetTop的用法
    JavaScript中的面向对象的讨论(转)
    javascript中的原型理解总结
    关于Javascript语言中this关键字(变量)的用法
    window.clearInterval与window.setInterval的用法(
    JavaScript经典魔力代码
  • 原文地址:https://www.cnblogs.com/rampb/p/4393475.html
Copyright © 2011-2022 走看看