EXISTS 子查询的可读性
使用 EXISTS 子查询时,有两个主要选项:
SELECT foo FROM bar WHERE EXISTS (SELECT * FROM baz WHERE baz.id = bar.id); SELECT foo FROM bar WHERE EXISTS (SELECT 1 FROM baz WHERE baz.id = bar.id);
从从性能角度来看,两者是等效的。然而,问题出现在可读性上。
手册和常见用法
根据对各种 RDBMS 手册和在线搜索进行的研究,似乎存在分歧:
Stack Overflow 搜索结果表明 SELECT * 在代码。
直观方法
问题提出了 SELECT * 是否更直观。然而,答案表明这并不是最直观的选择。相反,建议使用 SELECT 1,因为:
结论
虽然没有明确的共识,但 EXISTS 子查询中的 SELECT 1 被认为更直观。它强调存在的一面,符合标准,消除误解。最终,可读性偏好可能会根据开发人员的理解和风格而有所不同。
以上是EXISTS 子查询:SELECT * 或 SELECT 1 – 哪个更具可读性?的详细内容。更多信息请关注PHP中文网其他相关文章!