在子查询中避免重复使用 WHERE 条件,可以使用 WITH 子句或者临时表来解决。
WITH temp AS (
SELECT * FROM table_name WHERE condition
)
SELECT * FROM temp WHERE condition2;
在上述代码中,首先将需要重复使用的查询条件放在 WITH 子句中创建一个临时表 temp。然后,在主查询中可以直接引用临时表 temp,并添加新的条件 condition2。
CREATE TEMPORARY TABLE temp AS (
SELECT * FROM table_name WHERE condition
);
SELECT * FROM temp WHERE condition2;
在上述代码中,首先创建一个临时表 temp,并将需要重复使用的查询结果存储在该表中。然后,在主查询中可以直接引用临时表 temp,并添加新的条件 condition2。
通过使用 WITH 子句或者临时表,可以避免在子查询中重复使用 WHERE 条件,提高查询的效率和可读性。