• select 1 from 是什么意思?有什么作用?


    参考:https://www.douban.com/note/518373959/

    一、select 1 from 的作用

    1、select 1 from mytable 与 select anycol(目的表集合中的任意一行)from mytable、select * from mytable 作用上来说是没有差别的,都是查看是否有记录。  --虽然说没有区别,但还是好奇到底为什么用select 1 from

    2、select 1 from 中的1是一常量,查到的所有行的值都是它,但从效率上来说,1>anycol>*,因为不用查字典表。 --这里所说的查到满足筛选条件的记录,会生成一个临时列,而且值是1,这里有个性能点,就是执行效率1>anycol>*,执行效率是最快的;有数据就返回1,没数据返回null

    3、查看记录条数可以用select sum(1) from mytable;等价于select sum(*) from mytable。

    4、例如select top 1 1 from mytable 用来判断表是否有记录,如有记录则显示一个 1,没有则不显示。

    二、什么时候适用?

    一般用来当做判断子查询是否成功(即是否有满足条件的时候使用),常用于exists,子查询中,

    比如
    select * from ta where  exists (select 1 from ta.id = tb.id)
    这个判断就是(select 1 from ta.id = tb.id)这个查询如果有返回值的话表示当前查询满足条件,一般来说就简单话的用select 1

    这种查询写法,在性能调优的时候,可能会经常用到,执行效率比较快。

  • 相关阅读:
    msf提权命令/meterpreter下的几个命令
    ms17010漏洞复现-2003
    复现IIS6.0远程命令执行漏洞
    代码审计之Finecms任意文件下载漏洞
    逻辑运算符
    RIP动态路由的配置
    跟着百度学习php之ThinkPHP的运行流程-2
    静态路由配置
    跟着百度学习php之ThinkPHP的运行流程-1
    外挂是怎么写的?
  • 原文地址:https://www.cnblogs.com/cuitang/p/14069800.html
Copyright © 2020-2023  润新知