zoukankan      html  css  js  c++  java
  • 数据库左连接,右连接,内连接

    转摘:https://www.cnblogs.com/jianshuai520/p/11055519.html

    我们来举个例子。天庭上面有一个管理系统:管理系统有个主表:主表记录着各个神仙的基本信息(我们把它当成表A)。还有个表记录着他们这个神仙的详细信息(我们把它当成表B)。

    表A的信息为

    idAnameposition
    1 李靖 托塔天王
    2 值年神李丙 四值功曹
    3 增长天王 四大天王
    4 青龙孟章神君 四方神

    表B的信息为(此神仙有无犯过天条)

    IDBNameTHINGS
    1 NO  
    3 YES 上班玩忽职守
    4 NO  
    5 NO  
    6 YES 调戏嫦娥妹妹

    刚好赶上天庭蟠桃会,王母就让你统计下,参加蟠桃会的人有无犯事的记录,有的话就取消他参加宴会的资格。

    1|1这个时候,你用上了 左连接 方法

     

    语句为下:select A.* ,B.* from A left outer join B on (A.IDA=B.IDB)

    IDANAMEpositionIDBNameTHINGS
    1 李靖 托塔天王 1 NO  
    2 值年神李丙 四值功曹 NULL NULL NULL
    3 增长天王 四大天王 3 YES 上班玩忽职守
    4 青龙孟章神君 四方神 4 NO  

    结果就如同这样,表B中的IDB=5和6这条数据没有展示出来。且IDA=2 这条数据在表B中取null,左连接取的就是FROM后面该表中的所有数据作为查询结果。

    1|2但是如果你用了右连接:


    语句为下:select A.* ,B.* from A right outer join B on (A.IDA=B.IDB)

    IDANAMEpositionIDBNameTHINGS
    1 李靖 托塔天王 1 NO  
    3 增长天王 四大天王 3 YES 上班玩忽职守
    4 青龙孟章神君 四方神 4 NO  
    NULL NULL NULL 5 NO  
    NULL NULL NULL 6 YES 调戏嫦娥妹妹

    这个时候王母一看。什么,居然有人调戏 嫦娥,而且还查不到这个人?王母就会大发雷霆然后限你一天之内找到这个人。

    1|3内连接和自然连接的写法一样


    select * from A,B where A.IDA=B.IDB

    IDANAMEpositionIDBNameTHINGS
    1 李靖 托塔天王 1 NO  
    3 增长天王 四大天王 3 YES 上班玩忽职守
    4 青龙孟章神君 四方神 4 NO  

    整体来概述一下,这些的区别是什么:

    通俗易懂

    左连接:左边有的,右边没有的为null

    右连接:左边没有的,右边有的为null

    内连接:显示左边右边共有的

  • 相关阅读:
    在下拉框中选择数据
    代码添加批处理类
    重置用户状态(初始化用户)
    当前窗口控制(显示、隐藏、破坏)
    窗体分隔符实现
    使用USB移动硬盘 遭遇 "Windows无法为Volume加载安装程序。请于硬件供应商联系,寻求协助" 错误,“灰鸽子”后遗症的处理
    使用IDL创建TypeLib(.tlb)文件
    ngrep使用方法
    常用的正则表达式
    治疗鼻炎的药
  • 原文地址:https://www.cnblogs.com/wz123/p/12667421.html
Copyright © 2011-2022 走看看