SELECT order_id, COALESCE(shipper_id,comments,'Not Assigned') FROM orders
IF函数
格式:IF(表达式,返回值1,返回值2)
表达式成立则得到返回值1,否则得到返回值2
1 2 3 4 5 6 7 8
SELECT oi.product_id, p.name, COUNT(*) orders, IF(COUNT(*)>1,'Many times','Once') frequency FROM order_items oi JOIN products p USING(product_id) GROUPBY oi.product_id,p.name
CASE运算符
格式: CASE WHEN 表达式 THEN 返回值 …… (ELSE) 返回值 END
通过多个测试语句返回不同的结果
1 2 3 4 5 6 7 8 9 10
SELECT CONCAT(first_name,' ',last_name) customer, points, CASE WHEN points>3000THEN'Gold' WHEN points BETWEEN2000AND3000THEN'Sliver' WHEN points<2000THEN'Bronze' ENDAS category FROM customers ORDERBY points DESC;