从表中选择1是什么意思?
我已经看到了许多有关以下内容的查询。
Select 1 From table
这1
意味着什么,它将如何执行,返回什么?
另外,在哪种类型的方案中可以使用此方案?
回答:
SELECT 1 FROM
TABLE_NAME表示“从表中返回1”。它本身并不十分引人注目,因此通常将与它一起使用WHERE
并经常使用EXISTS
(如@gbn所述,这不一定是最佳实践,但是,即使它没有真正的意义,也足以引起人们的注意(也就是说,我会使用它,因为其他人会立即使用它,并且它“立即变得更明显”。当然,这可能是粘性鸡与蛋的问题,但我通常不赘述))。
SELECT * FROM TABLE1 T1 WHERE EXISTS ( SELECT 1 FROM TABLE2 T2 WHERE T1.ID= T2.ID
);
基本上,以上代码将返回表1的所有内容,而表1则具有表2的对应ID。(显然,这是一个人为的示例,但我相信它传达了这一想法。就我个人而言,我可能会这样做,SELECT
* FROM TABLE1 T1 WHERE ID IN (SELECT ID FROM TABLE2);因为我认为除非有明显的迫不得已的理由,否则
FAR 对读者更明确。
回答:
直到现在我实际上忘记了一种情况。在尝试从外部语言确定数据库中是否存在值的情况下,有时SELECT 1 FROM
TABLE_NAME会使用该值。与选择单个列相比,这没有带来明显的好处,但是,根据实现的不同,它可能会比做a获得更多的收益SELECT
*,这仅仅是因为通常情况下,数据库返回一种语言的列越多,数据就越大。结构,这意味着将花费更多时间。
以上是 从表中选择1是什么意思? 的全部内容, 来源链接: utcz.com/qa/415431.html