我正在查找最低可能的资源使用情况而没有给出结果。例如(这是不行的):没有结果的MySQL最短查询
SELECT 1 WHERE 0
编辑: 的目标是使用在存在于特殊情况下,我想没有匹配的子查询。 (我知道这不是唯一可能的解决方案,但在我的环境中,我选择使用这个解决方案)。
我正在查找最低可能的资源使用情况而没有给出结果。例如(这是不行的):没有结果的MySQL最短查询
SELECT 1 WHERE 0
编辑: 的目标是使用在存在于特殊情况下,我想没有匹配的子查询。 (我知道这不是唯一可能的解决方案,但在我的环境中,我选择使用这个解决方案)。
SELECT 1 FROM DUAL WHERE 0
将做的工作;你以前甚至不需要使用USE语句。
谢谢你做到了。虽然之前我因为愚蠢的图形用户界面而拒绝了SELECT * FROM(SELECT 1)作为WHERE 0',所以显示出了非常令人误解的结果...... – vbence
'SELECT * FROM(SELECT 1)作为WHERE 0'也是有效的解决方案。 –
SELECT 1
;将工作,但它会给出结果集
您可以尝试SELECT NULL from <any table>
A USE <database name>
语句没有给出结果并占用最少的资源。
究竟是什么?
select '1' from tableName where 0
这涉及到加载表,我想避免它,因为资源使用率低。 – vbence
@vbence - 这是为了什么?如果我们知道 –
@vbence,这将会容易得多:这也是有效的解决方案。它不会加载表格。尝试'EXPLAIN SELECT 1 FROM tableName WHERE 0'来查看原因。 –
为什么不将'WHERE EXISTS(no result subquery)'改为'WHERE FALSE'? –
@ypercube存在的子查询是与其他存在子查询(如WHERE EXISTS(无结果)或EXISTS(其他))结合使用的somthimes。它绝对需要重构,但现在,它是最安全的解决方案(导入错误的可能性最小)。 – vbence