Sử dụng hàm IF(condition, true_value, false_value) để chọn động giữa hai cột dựa trên điều kiện của cột thứ ba.
Tạo bảng người chơi
mysql> CREATE TABLE DemoTable (
-> PlayerName VARCHAR(100),
-> PlayerScore INT,
-> PlayerStatus VARCHAR(100)
-> );
Query OK, 0 rows affected (0.58 sec)
mysql> INSERT INTO DemoTable VALUES('John', 88, 'BAD'), ('Chris', 78, 'BAD'), ('Robert', 90, 'BAD'), ('David', 80, 'BAD');
Query OK, 4 rows affected (0.13 sec)
Truy vấn: nếu Score > 80 thì hiển thị Name, ngược lại hiển thị Status
mysql> SELECT PlayerScore, IF(PlayerScore > 80, PlayerName, PlayerStatus) AS Result FROM DemoTable;
Kết quả:
+-------------+--------+ | PlayerScore | Result | +-------------+--------+ | 88 | John | | 78 | BAD | | 90 | Robert | | 80 | BAD | +-------------+--------+ 4 rows in set (0.00 sec)
Mở rộng: Dùng CASE WHEN ... THEN ... ELSE ... END cho nhiều điều kiện phức tạp hơn.