SQL中EXISTS子查询里SELECT后的数字(如737)含义是什么?
关于EXISTS子查询中SELECT 737的含义
- 这个
737就是个无意义的常量,换成1、'abc'或者任何值都不会影响查询逻辑。 - EXISTS子查询的核心逻辑是判断子查询是否能返回至少一行数据,它根本不会去读取或使用SELECT后面的内容,所以不管你写什么,只要子查询能找到匹配行,EXISTS就返回true,否则返回false。
- 开发者这么写可能只是个人习惯(比如用自己喜欢的数字当占位符),或者随手敲的数字,甚至是个小彩蛋(比如737是波音飞机型号),但从功能上和最常见的
SELECT 1完全一致。 - 你提到的DB2完全支持这种写法,因为EXISTS的机制在SQL标准里就是如此,和列名、列索引没有任何关系。
内容的提问来源于stack exchange,提问作者Oidipous_REXX
相关产品推荐
相关产品推荐

