语法
CASE
sql
SELECT product_name,
CASE product_type
WHEN '衣服'
THEN 'A :' || product_type
WHEN '办公用品'
THEN 'B :' || product_type
WHEN '厨房用具'
THEN 'C :' || product_type
ELSE NULL
END AS abc_product_type
FROM Product;完整版:
sql
SELECT product_name,
CASE WHEN product_type = '衣服'
THEN 'A :' || product_type
WHEN product_type = '办公用品'
THEN 'B :' || product_type
WHEN product_type = '厨房用具'
THEN 'C :' || product_type
ELSE NULL
END AS abc_product_type
FROM Product;完整版的 WHEN 后面是表达式
三值逻辑
除了真与假的第三种逻辑 —— 不确定(UNKNOWN)
与 UNKNOWN 进行预算,最后的结果一定是 UNKNOWN。
所以尽可能不要使用 NULL。
算数运算符
包含 NULL 的运算,结果肯定是 NULL
- *
- /
括号() 可以提升 运算表达式 的优先级
比较运算符
- <
- =
- <> 不等于
!= 不是标准 SQL
逻辑运算符
- AND
- OR
- NOT
AND 优先级高于 OR
sql
WHERE product_type = '办公用品'
AND regist_date = '2009-09-11'
OR regist_date = '2009-09-20'
-- 会变为
「product_type = '办公用品' AND regist_date = '2009-09-11'」
OR
「regist_date = '2009-09-20'」