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

 

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

 

posted on   刚刚好1  阅读(8375)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2019-12-01 PL/SQL连接时,报无法解析指定的字符串

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示