我正在摆弄我刚才写的一些mySQL,我想知道如何提高查询的效率。在做了一些研究之后,我遇到了一个说网站的网站
SELECT (SELECT Value FROM table WHERE (variable1 == "answer" AND variable2 = "answer2")) AS variable;
理论上,如果没有找到任何内容,则可以使用NULL,如果满足条件,则返回值。
尝试过这个,我无法让它发挥作用。有人可以告诉我是否:
我这样做是愚蠢的,有一个更有效的系统来做这件事(这不算数)
它有效,但我做错了什么
答案 0 :(得分:0)
如果你想获得单个值(如果它存在),否则为NULL(而不是空结果集),这种方法就像获得它一样高效。所花费的时间与单独运行内部查询所花费的时间相同。
唯一的问题是if inner查询返回多行会导致错误。您可以通过添加unsigned long
或确保它永远不会返回多行来解决此问题。