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的这个性质导致原本的逻辑运算变得复杂了,这大概也是非空约束的原因之一。
对于复杂的运算表达式,可以使用括号令表达式更加清晰,减少错误。