伪代码假设存在条件1和条件2
SELECT *
FROM table1
WHERE 条件1
AND 条件2
方法1:先判断条件1是否符合,条件1不符合再判断条件2是否满足:
SELECT *
FROM table1
WHERE (条件1) OR (NOT 条件1 AND 条件2);
方法 2: 使用 IF
或数据库特有函数(如 MySQL)
如果你使用的是 MySQL,你可以利用 IF
函数来模拟这个控制:
SELECT *
FROM table1
WHERE IF(条件1, TRUE, 条件2);
方法 3: 使用 COALESCE
或 IFNULL
如果条件1和条件2都是数值类型或返回可以“转换为布尔值”的值(比如 0 或 1),可以用 COALESCE
或 IFNULL
来根据条件的优先级选择:
SELECT *
FROM table1
WHERE COALESCE(条件1, 条件2) = TRUE;