在MySQL数据库操作中,WHEN和AND是两个极为常见的关键词,它们分别用于条件判断和逻辑连接。但当这两者巧妙结合时,能够实现更复杂、更精准的数据查询与处理。
在CASE语句中,WHEN用于定义条件分支,而结合AND可以实现多条件判断:
SELECT
name,
CASE
WHEN score >= 90 AND score <= 100 THEN '优秀'
WHEN score >= 70 AND score < 90 THEN '良好'
ELSE '待提高'
END AS level
FROM students;
在WHERE子句中,AND用于连接多个过滤条件,而结合CASE WHEN可以实现动态条件:
SELECT * FROM orders
WHERE
status = 'completed'
AND (CASE WHEN payment_method = 'credit' THEN amount > 100 ELSE amount > 50 END);
在数据更新操作中,通过WHEN和AND可以实现基于复杂条件的精确更新:
UPDATE products
SET price = CASE
WHEN category = 'electronics' AND stock > 10 THEN price * 0.9
WHEN category = 'books' AND publish_year < 2020 THEN price * 0.7
ELSE price
END;
通过合理运用WHEN和AND的组合,不仅能够提高查询的灵活性,还能实现更精细化的数据操作,是每个MySQL开发者都应该掌握的重要技巧。