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*fromtawhereexists(select1fromta.id=tb.id)
這個判斷就是(select1fromta.id=tb.id)這個查詢如果有返回值的話表示當前查詢滿足條件,一般來說就簡單話的用select1
這種查詢寫法,在性能調優的時候,可能會經常用到,執行效率比較快。
總結
以上是生活随笔為你收集整理的select 1 from 是什么意思?有什么作用?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言while找rn,STM32Fat
- 下一篇: Linux下计算命令: 求和、求平均值、