MySQL的SELECT語句中常常使用CASE WHEN語句來進行數據的篩選和判斷。當CASE后面的條件成立時,執行THEN后面的操作,否則執行ELSE后面的操作。如果沒有ELSE語句,不存在條件的情況下,則返回NULL。
SELECT CASE WHEN conditions1 THEN results1 WHEN conditions2 THEN results2 ... ELSE resultsN END FROM table_name;
其中,conditions可以是任意一些表達式,比如字段操作符(>、<、=等),或者SQL函數,結果可以是一個字符串、數字或者NULL。
CASE WHEN語句可以嵌套使用。例如:
SELECT CASE WHEN conditions1 THEN (CASE WHEN conditions2 THEN results2 ELSE results3 END) ELSE resultsN END FROM table_name;
此時,當conditions1成立時,繼續判斷conditions2,如果成立,返回results2,否則返回results3。如果條件1不成立,則直接返回resultsN。
總體來說,使用SELECT CASE WHEN語句可以方便、靈活地進行數據篩選和判斷,為我們的數據分析提供了更多的可能性。