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

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

最新文章

  1. 4、解决native库不兼容
  2. CentOS 6.5/6.6 安装mysql 5.7 最完整版教程
  3. Tomcat 部署:工程下 META-INF 目录下的 Context.xml
  4. 解惑:NFC手机如何轻松读取银行卡信息?
  5. C#文件输入输出流
  6. poj 1695 动态规划
  7. Web-Scale IT:对企业的影响
  8. IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
  9. 【Android Developers Training】 37. 共享一个文件
  10. Java:bufferedReader.readLine()读取文件换行问题
  11. m文件转换c代码
  12. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(四):集成 MyBatis 框架
  13. javascript之构造函数的继承(引用网络)
  14. 如何学习JavaEE,项目又该如何做?
  15. Storyboard 全解析
  16. Oracl使用总结二
  17. Jmeter 分布式压测及可能出现的问题;
  18. 如何实现SQL Server临时表的创建?
  19. mac平台打造犀利的Android Studio开发环境
  20. 萌新--关于vue.js入门及环境搭建

热门文章

  1. awk统计命令(求和、求平均、求最大值、求最小值)
  2. 【Python】【Algorithm】排序
  3. 【Linux】【Shell】【text】grep
  4. 利用代码覆盖率提高嵌入式软件的可靠性 - VectorCAST
  5. 工作簿合并(Excel代码集团)
  6. SP16033 TIPTOP - Tip Top Game 题解
  7. 使用proxy解决请求跨域问题
  8. htmlunit设置只采集html,取消对css,javascript支持
  9. 【LeetCode】604. Design Compressed String Iterator 解题报告(C++)
  10. 【LeetCode】20. Valid Parentheses 有效的括号