zoukankan      html  css  js  c++  java
  • SQL中表的连接

    在SQL Server中表之间的连接分为自然连接,内连接,外连接。

    自然连接与内连接类似,唯一的区别是,内连接不会去掉重复的列,而自然连接会自动去掉重复的列,例如这里做一个简单的例子。

    表SAge(cName,iAge),                         表SSex(cName,bSex)

         

    1、先进行内连接  

    1 select * from ssex  inner join sage on ssex.cname=sage.cname

        运行的结果为:

    2、进行自然连接(不知道为什么我的数据库版本运行不了natural join  版本问题吧)

        select * from ssex  natural join sage

       预期的结果应该如图:

    3、进行外连接,外连接分为左外连接(left [outer] join),右外连接(right [outer] join)和全外连接(full [outer] join)   tips:这里中括号[]里的内容可写可不写。

    (1)A left join B 是将A的内容全列出来,满足条件的B的内容列出来,没有的地方为NULL

    select * from ssex  left join sage on ssex.cname=sage.cname
    或者
    select * from ssex  left outer join sage on ssex.cname=sage.cname

    运行结果均为:

    (2)A right join B 是将B的内容全列出来,满足条件的A的内容列出来,没有的地方为NULL

    select * from ssex  right join sage on ssex.cname=sage.cname
    或者:
    select * from ssex  right outer join sage on ssex.cname=sage.cname

    运行结果均为:

    (3)A full join B 是将A,B的内容都列出来,满足条件的合成一行不满足条件的用NULL代替,看例子:

    select * from ssex  full outer join sage on ssex.cname=sage.cname
    或者
    select * from ssex  full  join sage on ssex.cname=sage.cname

    运行结果为:

    以上为所有的内容,不知道这样对概念有没有清晰一点呢。

  • 相关阅读:
    面向对象(静态)
    面向对象 三大特性
    MySQL数据库表分区功能详解
    zabbix 库表介绍
    数据库分库分表思路
    Mysql之binlog日志说明及利用binlog日志恢复数据操作记录
    zabbix 监控 tomcat
    zabbix 监控项报"Value "(No info could be read for "-p": geteuid()=1002 but you should be root"
    Linux中Swap与Memory内存简单介绍
    mysql常用命令杂记
  • 原文地址:https://www.cnblogs.com/huang1990/p/3023708.html
Copyright © 2011-2022 走看看