# SQL算数与逻辑操作

SQL算数与逻辑操作

SQL算数操作

SQL中的算数操作与其他编程语言中的算数操作差不多,分为加减乘除。一般就是用在选择对象以及选择条件当中。

例如:

SELECT product_name, product_type,
       sale_price * 0.9 - purchase_price AS profit
  FROM Product
 WHERE sale_price * 0.9 - purchase_price > 100
   AND (   product_type = '办公用品'
        OR product_type = '厨房用具');

算数运算以行为单位进行,只要实验以下很容易很明白。

同时要注意NULL这个特殊值,任何值与他进行算数运算结果都为NULL

逻辑运算

一般编程语言中的逻辑运算有:

  • 大于
  • 小于
  • 等于
  • 不等于
  • 大于等于
  • 小于等于
  • 逻辑非
  • 逻辑或(逻辑和)
  • 逻辑与(逻辑积)

这些在SQL中同样有,只不过有一些需要注意的地方。

不等在SQL中的表现形式是<>

逻辑或和逻辑与只有字符关键字表示OR AND

逻辑非只有关键字表示NOT

同时对于逻辑运算的结果真值,在一般的编程语言中只有两个,真或者假。非假即真。

而在于SQL当中还有不确定值(UNKNOW)的存在。不确定值和NULL有关,和NULL有关的逻辑运算有时候就会变成不确定值(真值表很容易推导以及找到,不在赘述)。

所以因为NULL的这个性质导致原本的逻辑运算变得复杂了,这大概也是非空约束的原因之一。

对于复杂的运算表达式,可以使用括号令表达式更加清晰,减少错误。

原文地址:https://www.cnblogs.com/freesfu/p/11431212.html