EXISTS 查询中的子查询可读性
EXISTS 查询中哪种子查询语法更具可读性的问题经常出现,因为它对理解和理解有影响。代码清晰。虽然两种常见方法之间的性能没有显着差异,但选择最合适的选项可以增强可读性并简化维护。
最初,数据库倾向于使用语法“EXISTS (SELECT * FROM baz WHERE baz.id = bar.id)”在他们的文档中。然而,随着时间的推移,业界已经倾向于更简单的形式“EXISTS (SELECT 1 FROM baz WHERE baz.id = bar.id)”。
使用“SELECT ”的直观论点是它表示搜索子查询中是否存在任何*记录。然而,这会导致一些误解。正如行业建议中所述,重点应该放在子查询记录的存在性上,而不是内容上。
语法“EXISTS (SELECT 1 ..)”确保子查询只返回一条记录。这与 EXISTS 作为半连接的定义一致,半连接检查指定连接条件中是否存在记录。
因此,建议更直观和行业标准的方法是“ EXISTS (SELECT 1 ..)",因为它简化了对确定存在的关注,而不是引入不必要的复杂性或混乱。
以上是EXISTS 查询:SELECT * 或 SELECT 1 – 哪种子查询语法更具可读性?的详细内容。更多信息请关注PHP中文网其他相关文章!