联合、自连接

    xiaoxiao2025-01-07  11

    联合连接是基于自连接基础上,由于null的原因少了默些行,联合连接再硬添加上。

    --联合连接和自连接 联合连接 硬生生的插了一行    《纵向连接 -》没啥用》    其余的都是行向连接 --输出每个员工的信命/工资和上司的姓名 select  E1.ename ,E1.sal ,E2.ename   from emp "E1" join emp "E2" on E1.mgr=E2.empno   --eroor 13行 自连接少了null一行  自己连接的

     select  E1.ename ,E1.sal ,E2.ename "shang si"   from emp "E1" join emp "E2" on E1.mgr=E2.empno  union  select ename ,sal , '插入' from emp  where mgr is null

    select  ename ,sal ,mgr   from emp --错 查的是上司的学号 不是名字

    简单的举个例子分析上面的问题:

    下面两个关系模式R:如果要输出每个员工的信命/工资和上司的名字:首先想到自连接

        表 1                                      表  2

    empno  mgr                  empno  mgr                                      1              2                          1          2 2              3                           2           3

    3              null                       3           null

    也就是1表中的mgr和2表中的empno学号相等来建立自连接。E1.mgr=E2.empno 

    表一:1   2  对应    表二:2    3

    表一:2   3  对应    表二:3    null

    表一:3   null     不可与表2连接

    那么联合的主要目的就是为了解决表一:3   null     不可与表2连接,所以联合的自连接有13行有联合的自连接有14行

    E2.ename   from emp "E1" join emp "E2" on E1.mgr=E2.empno    E2.ename 相当于把boss的名字输出了

    基于 sqlsever -

    转载请注明原文地址: https://ju.6miu.com/read-1295224.html
    最新回复(0)