当前位置: 首页 > 面试题库 >

从表中选择1是什么意思?

景俊拔
2023-03-14
问题内容

我已经看到了许多有关以下内容的查询。

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 *,这仅仅是因为通常情况下,数据库返回一种语言的列越多,数据就越大。结构,这意味着将花费更多时间。



 类似资料:
  • 搜索字符并不容易。我在看CSS的时候发现了这个 这是什么意思?

  • 问题内容: 例如: 我不知道是什么意思 这是什么之间的区别,只是定义样式没有? 问题答案: 请参阅W3.org上的相邻选择器。 在这种情况下,选择器意味着样式仅适用于直接在另一个段落之后的段落。 一个普通的选择器会将样式应用于页面中的每个段落。 这仅适用于IE7或更高版本。在IE6中,样式不会应用于任何元素。顺便说一下,这也适用于组合器。

  • 问题内容: 我们都知道,柔性属性是一个速记,和属性。其默认值为。它的意思是: 但我注意到,在很多地方都使用过。是速记还是?我不明白这是什么意思?我在谷歌搜索中找不到任何东西。 问题答案: 这里是解释: flex: 等同于flex:10。使flex项目具有弹性,并将flex基础设置为零,从而使该项目接收flex容器中指定比例的可用空间。如果flex容器中的所有项目都使用此模式,则它们的大小将与指定的

  • 问题内容: 下面的简短bash脚本列出了给定目录及其子目录中的所有文件和目录。脚本中的意思是什么?请给我一些参考。谢谢 问题答案: 这是第一个参数的位置,被视为目录 在bash脚本参数文件传递到脚本(这是脚本的名称),然后,,…要访问所有的人,你既可以使用自己的标签或使用该组的结构之一。对于组构造,有和。(将所有参数视为一个块,并以分隔)

  • 问题内容: 例如: 这个标志到底是什么意思? 问题答案: 是子组合器,有时会误称为直接后代组合器。1个 这意味着选择器仅选择 直接嵌套 在内 的段落,而不选择嵌套 在 其 内 的任何段落。 插图: 选择了什么,没有选择什么: 选择 这直接位于内部的,因此在这两个元素之间建立了父子关系。 没有选择 这是由包含内,而不是本身。尽管这是的后代,但它不是孩子。是孙子 因此,虽然不匹配此元素,但将使用后代组

  • 问题内容: 使用SQL Server 2012: 产量 必须指定要从中选择的表 这正是我所期望的。 但有趣的是 返回1。 有人可以向我解释这里算什么吗? 编辑:并可能包括来源… 问题答案: SQL Server(在幕后)有效地将from应用于仅具有一行的虚拟表。因此,您将得到1作为计数。 会做同样的事情,例如,一次返回“ test”。 就像Oracle中的DUAL表,DB2中的SYSDUMMY1等