这答案里面 isnull(department,'黑人')咋回事呢 我知道判定列deprtment不为空的时候 就'黑人' 
可是 查询的条件 是testtable2.dptID = testtable1.ID 返回的结果集中 dptid为四的‘黑人’行应该是是不会出现的啊 怎么还isnull啊 
---
注意 是 right join testtable2 

解决方案 »

  1.   

    不isnull()
    ----------- ----------- ------------ ------------
    1           1           张三           设计
    2           1           李四           设计
    3           2           王五           市场
    4           3           彭六           售后
    5           4           陈七           NULL(5 行受影响)因陈七在testtable1 中没有相应的department对应就成NULL了
      

  2.   

    isnull(department,'黑人')咋回事呢 我知道判定列deprtment不为空的时候 就'黑人' -->>楼主对isnull理解出了偏差: isnull 标示department为空的时候,显示后面的值,也就是department为空的时候,显示黑人
      

  3.   

    sql中isnull的用法
    语法
     
    ISNULL ( check_expression , replacement_value )
     备注
    如果 check_expression 不为 NULL,则返回它的值;否则,在将 replacement_value 隐式转换为 check_expression 的类型(如果这两个类型不同)后,则返回前者。参数
    check_expression 将被检查是否为 NULL 的表达式。check_expression 可以为任何类型。replacement_value 当 check_expression 为 NULL 时要返回的表达式。replacement_value 必须是可以隐式转换为 check_expresssion 类型的类型。返回类型
    返回与 check_expression 相同的类型。示例
    A. 将 ISNULL 与 AVG 一起使用
    以下示例查找所有产品的重量平均值。它用值 50 替换 Product 表的 Weight 列中的所有 NULL 项。 复制代码 
    USE AdventureWorks;
    GO
    SELECT AVG(ISNULL(Weight, 50))
    FROM Production.Product;
    GO 
      

  4.   

    SELECT isnull('白人','黑人'),isnull(null,'黑人')
    /*
    ---- ----
    白人   黑人*/