• 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
    
    
  • 相关阅读:
    【nodejs】vscode添加nodejs调试功能
    【nodejs】简单的httpserver
    windows下,强制关闭某端口号的进程
    git 客户端用户名密码配置
    【shell】变量替换
    aksk鉴权
    vue学习笔记-第一课
    好未来上海一面电面
    20190325面试题记录(中级java)
    IT帮-三月份-职业规划主题笔记
  • 原文地址:https://www.cnblogs.com/myloveblogs/p/5908474.html
Copyright © 2020-2023  润新知