zoukankan      html  css  js  c++  java
  • CROSS APPLY 和outer apply 的区别

     CROSS APPLY 和outer apply 的区别:


    DECLARE @t table (姓名 varchar(10))
    insert into @T values('张三')
    insert into @T values('李四')
    insert into @T values('王二')
    insert into @T values(NULL )


    DECLARE @T2 table (姓名 varchar(10) , 课程 varchar(10) , 分数 int)
    insert into @T2 values('张三' , '语文' , 74)
    insert into @T2 values('张三' , '数学' , 83)
    insert into @T2 values('张三' , '物理' , 93)
    insert into @T2 values('李四' , '物理' , 91)
    insert into @T2 values(NULL , '数学' , 50)


    select * from @T a
    cross apply
        (
    select 课程,分数 from @t2 where 姓名=a.姓名) b

    /*
    姓名         课程         分数
    ---------- ---------- -----------
    张三         语文         74
    张三         数学         83
    张三         物理         93
    李四         物理         91

    (4 行受影响)
    */

    select 
        
    * 
    from 
        
    @T a
    outer apply
        (
    select 课程,分数 from @t2 where 姓名=a.姓名) b
    /*
    姓名         课程         分数
    ---------- ---------- -----------
    张三         语文         74
    张三         数学         83
    张三         物理         93
    李四         物理         91
    王二         NULL       NULL
    NULL       NULL       NULL

    (6 行受影响)
    */
  • 相关阅读:
    To do list
    2020 上半学期比赛记录
    板子
    Project Euler 1~10 野蛮题解
    卡常火车头
    防止unordered_map 被卡方法
    2019 香港区域赛 BDEG 题解
    2019徐州区域赛 ACEFM 题解 & pollard-rho & miller-rabin & 求出每个子树的重心 板子
    BST-splay板子
    ZJOI2017(2) 游记
  • 原文地址:https://www.cnblogs.com/jintan/p/1511474.html
Copyright © 2011-2022 走看看