top 1 1

Posted MR_CHW

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了top 1 1相关的知识,希望对你有一定的参考价值。

这个是今天刚发现的,以前都是top 10 这样的用法,今天看到这个用法竟然懵逼了,所以到网站查了一下,

百度上的结果:

 

 

这个是SQLSERVER选择表中符合条件的前N行记录的语句。
不过,TOP后边跟的一定是一个数字,你这个1 1,中间空了一个格,不是十一,也不是1,那就分开看,SELECT TOP 1这是一段,选择第一行,第一行什么,第一行的1,就是说如果符合条件,WHERE条件,查询有数据,就会查到一行1,否则,没有结果。

我们常理解的是SELECT * FROM TABLE,这个是选择表TABLE中所有的数据。
那么SELECT 1 FROM TABLE,这个语句也是成立的,只不过根据表中的行数,每一行都是1。
SELECT TOP 1 * FROM TABLE,这个是选TABLE的第一行记录。
SELECT TOP 1 1 FROM TABLE,那就是借用这个TABLE的行,把列换成了固定值,1

对于这个问题来说我们只要看:

那么SELECT 1 FROM TABLE,这个语句也是成立的,只不过根据表中的行数,每一行都是1。
SELECT TOP 1 1 FROM TABLE,那就是借用这个TABLE的行,把列换成了固定值,1
这两个说法;

我们先来看第一个:


技术分享

似乎明白一点这样查询后的结果了吧,这样查询时把所有其他列和数据全部清除,并赋值  1,再看下面,似乎更明了这个数值的意义。

技术分享

 

大胆猜想一下,是否其他字符也可以呢?

技术分享

是的,可以的,对于更多的大家自己测试,这里我想这种写法是一个快速判断的方法吧,

因为有时候我们只要判断的是这个表是否有数据(可能方法有很多)我们只来说这个,

看示例:

技术分享

我们捕捉一个大概的时间,

技术分享

这个两个时间相差可以很明白让你做出选择性,所以在用方法的时候,正确的方法还是很重要的。

 

如果还是不明白就多看几遍这个:

SELECT TOP 1 1 FROM TABLE,那就是借用这个TABLE的行把列换成了固定值 1

 

 

 

 

 

 

 







以上是关于top 1 1的主要内容,如果未能解决你的问题,请参考以下文章

css常用代码片段 (更新中)

几条jQuery代码片段助力Web开发效率提升

是否可以在 OnStop() 回收所有数据并使用保留片段?

VSCode自定义代码片段1——vue主模板

使用片段清除回栈

1 代码片段1