SQL连接方式(左连接、右连接、全连接)

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 08:26 点击:

 

1.内连接、左连接、右连接、全连接介绍

 

   內连接仅选出两张表中互相匹配的记录.因此,这会导致有时我们需要的记录没有包含进来。内部连接是两个表中都必须有连接字段的对应值的记录,数据才能检索出来。

   左连接和右连接都是外部连接,也就是区别于内部连接,它对不满足连接条件的行并不是象内部连接一样将数据完全过滤掉,而是保留一部分数据,行数不会减少。

 左连接是只要左边表中有记录,数据就能检索出来,而右边有的记录必要在左边表中有的记录才能被检索出来

 右连接是只要右边表中有记录,数据就能检索出来 ;

 全连接则会回返回两个表中的所有记录。

 

2.示例

 有两个表

 table1

 user_id      user_name      user_pss

       1             aaa            a

       2             bbb            b

       3             ccc            c

 

 table2

 user_id      user_power

       1             111000

       2             000111

 

 使用sql語句查询

 正常状态:

 select table1.user_id,

            table1.user_name,

            table2.user_power

 from table1,table2

 where table1.user_id = table2.user_id

 但是这样检索到的数据只有两条:

 user_id      user_name       user_power

       1            aaa             000111

       2            bbb             111000

 因为第三条数据在table2中沒有关联.

 

 这时使用左连接查询﹕

 selecttable1.user_id,table1.user_name,table2.user_power

 from table1,table2

 where table1.user_id (+)= table2.user_id

 就可以得到如下的结果

 user_id      user_name       user_power

       1            aaa             000111

       2            bbb             111000

       3            ccc             (null)

      

 说明﹐左或右连接查询实际上是指定以哪个表的数据为准﹐而默认(不指定左或右连接)是以两个表中都存在关键列的数据为准。

 左连接就是以左边的表记录为主,右连接就是以右边的表记录为主,完全连接返回两个表中的所有记录。

 

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • sql常见面试题
      • SQL SERVER 2005性能之跟踪
      • SQL编程(一)
      • LINUX上RMAN自动备份脚本
      • sql server面试题
      • 如何将多个SQL查询统计结果一次显示出来
      • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
      • SQL小技巧系列 --- 行转列合并
      • sql server 列转行
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1