首页 > 代码库 > top 1 1
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。