select 1 from table的不同之處

2021-07-13 18:48:46 字數 597 閱讀 7435

1、select 1 from mytable;與select anycol(目的表集合中的任意一行) from mytable;與select * from mytable 

作用上來說是沒有差別的,都是檢視是否有記錄,一般是作條件用的。

select 1 from 中的1是一常量,查到的所有行的值都是它,但從效率上來說,1>anycol>*,因為不用查字典表。

2、檢視記錄條數可以用select count(1) from mytable;等價於select count(*) from mytable;

測試場景:

table表是乙個資料表,假設表的行數為10行。

1:select 1 from table 增加臨時列,每行的列值是寫在select後的數,這條sql語句中是1

2:select count(1) from table 管count(a)的a值如何變化,得出的值總是table表的行數

3:select sum(1) from table 計算臨時列的和

綜上所述:第一種的寫法是增加臨時列,每行的列值是寫在select後的數;第二種是不管count(a)的a值如何變化,得出的值總是table表的行數;第三種是計算臨時列的和

select 1和select 0進行優化

當我們只關心資料表有多少記錄行而不需要知道具體的字段值時,類似 select 1 from tblname 是乙個很不錯的sql語句寫法,它通常用於子查詢。這樣可以減少系統開銷,提高執行效率,因為這樣子寫的sql語句,資料庫引擎就不會去檢索資料表裡一條條具體的記錄和每條記錄裡乙個個具體的字段值並將它...

WinSock學習 1 Select模型

新學的,有錯誤請指出 bool initialsocket socket sock,u short port int findposofset socket s,fd set set int tmain int argc,tchar argv fd set fdset fd zero fdset f...

SELECT查詢資料1 基礎篇

1 查詢指定字段 select first name from employees 2 配合 查詢多個字段 select first name,last name from employees 3 查詢全部字段 select from employees 4 條件查詢 數字運算子 select fi...