第六节. IFNULL和COALESCE函数| The IFNULL and COALESCE Functions
USE sql_store;
SELECT
order_id,
IFNULL(shipper_id, 'Not assigned') AS shipper
FROM orders
SELECT
order_id,
COALESCE(shipper_id, 'Not assigned') AS shipper
FROM orders
SELECT
order_id,
IFNULL(shipper_id, '...'),
COALESCE(shipper_id, comments, 'Not assigned') AS shipper
FROM orders
第六节. 作业练习
SELECT
CONCAT(first_name,' ', last_name) AS customer,
COALESCE(phone, 'Unknown') AS phone
FROM customers
SELECT
product_id,
name,
COUNT(*) AS orders
FROM products
JOIN order_items USING (product_id)
GROUP BY product_id, name
第八节. CASE运算符| The CASE Operator
SELECT
order_id,
IF(
YEAR(order_date) = YEAR(NOW()),
'ACTIVE,
'ARCHIVED') AS category
FROM orders
SELECT
order_id,
CASE
WHEN YEAR(order_date) = YEAR(NOW()) THEN 'ACTIVE'
WHEN YEAR(order_date) = YEAR(NOW()) - 1 THEN 'LAST YEAR'
WHEN YEAR(order_date) < YEAR(NOW()) - 1 THEN 'ARCHIVED'
ELSE 'FUTURE'
END AS category
FROM orders
第八节.作业练习
SELECT
CONCAT(first_name, '', last_name) AS customer,
points,
CASE
WHEN points > 3000 THEN 'Gold'
WHEN points >= 2000 THEN 'Silver'
ELSE 'Bronze'
END AS category
FROM customers