zoukankan      html  css  js  c++  java
  • 【原创】sql:慎用【数字字段1

    如果只有一个表的情况下

    a表:

    id  num1,num2

    1  10    5

    2  10    0

    3  20    0

    select id, num1,num2,num1 - num2 AS subNum from a;

    这种情况下:

    结果如下:

    id  num1  num2  subNum

    1  10    5      5

    2  10    0      10

    3  20    0      20

    单表情况下,这样在sql中,使用减号“-”是没有问题的(数字字段,必须不能为null),如果有字段为null,那么减之后的结果也为null,例:10 - null = null

    但是如果是2张以上的表进行关联,即使每个表的字段都不为null,但是,左关联,右表中的记录如果没有,则为null

    表b:

    id  num3

    1   5

    3   0

    select a.id, b.id, a.num1, b.num3, a.num1 - num3 AS subNum from a a

    left join b b on a.id=b.id

    结果:

    id  id num1 num3  subNum

    1  1   10   5      5

    2  null 10   null      null

    以上,原本我需要的是id=2的时候,subNum = 10,结果是null了。

    此时使用左连接,就不能使用减了,就要在程序里面处理了。

  • 相关阅读:
    归并排序
    CTE 递归
    Cordova 入门文档
    Javascript 原型链
    Windows11 正式版偷渡开启安卓子系统
    快速解决gerrit merge confict问题
    利用VPS来搭建个人主页
    检测串行序列10010
    Verilog语法总结
    深度学习中常见优化算法学习笔记
  • 原文地址:https://www.cnblogs.com/gmq-sh/p/4351263.html
Copyright © 2011-2022 走看看