参考: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

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

select 1 from 是什么意思?有什么作用?的更多相关文章

  1. 使用Ant Design的select组件时placeholder不生效/不起作用的解决办法

    先来说说使用Ant Design和Element-ui的感觉吧. 公司的项目开发中用的是vue+element-ui,使用了一通下来后,觉得element-ui虽然也有一些问题或坑,但这些小问题或坑凭 ...

  2. PL/SQL中SELECT总结

      一.SELECT 语句的各个关键词的顺序及作用简解(这个我简略点写~) 1.SELECT 2.FROM 3.WHERE 4.GROUP BY ---对结果集进行分组,通常与聚合函数一起使用 5.H ...

  3. 网络编程之select

    一.select函数简介 select一般用在socket网络编程中,在网络编程的过程中,经常会遇到许多阻塞的函数,网络编程时使用的recv, recvfrom.connect函数都是阻塞的函数,当函 ...

  4. select()函数 的学习

    select()的介绍 全是拷贝的如下文章: https://www.cnblogs.com/wenqiang/p/5508541.html select()函数的用例代码摘录如下文章: https: ...

  5. SQL Server 基本SELECT语句

    1.SELECT 和 FROM 语句 SELECT表示执行的是查询,接着需要更知道从哪边查询数据,FROM就是限制读取的数据在哪一个表或哪几个表中,这样就构成了一个基本语句. SELECT * FRO ...

  6. select * from dim.dim_area_no@to_dw

    应该是建的有database linksdim是用户名,dim_area_no是表名,to_dw 是建的database links的名,dim_area_no表属于dim用户创建database l ...

  7. socket编程之select相关

    FD_ZERO,FD_ISSET这些都是套节字结合操作宏 看看MSDN上的select函数, 这是在select   io   模型中的核心,用来管理套节字IO的,避免出现无辜锁定. int   se ...

  8. Openlayers ol.interaction.Select传值问题

    说明: 在使用ol.interaction.Select时,我定义的变量作用域作用不到其回调函数里,但我在select结果中,需要用到这些变量 解决方案: 虽想了个办法解决了,但不知道是不是合理:是否 ...

  9. 网络编程——select介绍

    一.select函数简介 select一般用在socket网络编程中,在网络编程的过程中,经常会遇到许多阻塞的函数,网络编程时使用的recv, recvfrom.connect函数都是阻塞的函数,当函 ...

  10. mysql SELECT语句 语法

    mysql SELECT语句 语法,苏州大理石方箱 作用:用于从表中选取数据.结果被存储在一个结果表中(称为结果集). 语法:SELECT 列名称 FROM 表名称 以及 SELECT * FROM ...

随机推荐

  1. Javascript 数组对象常用的API

    常用的JS数组对象API ES5及以前的Api ECMAScript5为数组定义了5个迭代方法,每个方法接收两个参数, 一个是每项运行的函数,一个是运行该函数的作用域对象(可选项),传入这些方法的函数 ...

  2. SpringMVC中@RestController和@Controller的区别

    在使用SpringMVC时,对于Controller中的注解@RestController和@Controller需要我们区分清楚 @RestController注解相当于@ResponseBody和 ...

  3. 【Matlab】运算符使用整理 * .* / \ .'

    [基本运算符] * :矩阵乘法or数与数相乘 .*:点乘,用于矩阵间对应元素的相乘,或数与数之间,数与矩阵之间的相乘. / :右除.a/b表示矩阵a乘以矩阵b的逆 \ :左除.a\b表示矩阵a的逆乘以 ...

  4. 详解 java 异常

    Throwable 可以用来表示任何可以作为异常抛出的类(注意,是类不是接口),分为两种: Error(注意!error也是可以throw的,但是不建议) 和 Exception. 其中 Error ...

  5. Redis cluster 集群部署和配置

    目录 一.集群简介 cluster介绍 cluster原理 cluster特点 应用场景 二.集群部署 环境介绍 节点部署 启动集群 三.集群测试 一.集群简介 cluster介绍 redis clu ...

  6. Redis哨兵 部署和配置

    目录 一.哨兵简介 哨兵介绍 哨兵原理 二.哨兵部署 环境介绍 哨兵配置 三.使用验证 一.哨兵简介 哨兵介绍 Sentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在 ...

  7. Mysql资料 Binlog

    目录 一.简介 二.开启binlog及相关参数 开启 相关操作 三.查看binlog日志 使用mysqlbinlog自带查看命令法 mysql加载方式查询 四.恢复数据 五.命令参数 一.简介 MyS ...

  8. centos7部署二进制mysql-5.6

    目录 一.环境声明 二.程序部署 一.环境声明 [mysql-Server] 主机名 = host-1 系统 = centos-7.3 地址 = 1.1.1.1 软件 = mysql-5.6.39 3 ...

  9. Python的安装和卸载

    一.Python的安装,去Python官网https://www.python.org/downloads/下载对应安装包 进入官网后鼠标移动到downloads处然后点击Windows 二.安装包下 ...

  10. 车载以太网第二弹|测试之实锤-1000BASE-T1 IOP测试实践

    背景 车载以太网通信技术在汽车行业的应用速度远超预期,去年本土OEM已经上市了应用100BASE -T1的车型.今年,应用1000BASE -T1的车型预计也将会量产上市.针对测试而言,带来另外一个难 ...