select 1 from … sql語句中的1代表什麼意思

來源:互聯網
上載者:User

原帖地址 :http://blog.csdn.net/wangyihust/archive/2009/02/05/3863758.aspx select 1 from table;與select anycol(目的表集合中的任意一行) from table;與select * from table 從作用上來說是沒有差別的,都是查看是否有記錄,一般是作條件查詢用的。select 1 from 中的1是一常量(可以為任意數值),查到的所有行的值都是它,但從效率上來說,1>anycol>*,因為不用查字典表。

測試情境:(轉自網路文獻)
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 計算臨時列的和

在SQL SERVER中用 1 測試了一下,發現結果如下:

1:測試結果,得出一個行數和table表行數一樣的臨時列(暫且這麼叫,我也不知道該叫什麼),每行的列值是1;

2:得出一個數,該數是table表的行數;

3:得出一個數,該數是table表的行數;

然後我又用“2”測試,結果如下:

1:得出一個行數和table表行數一樣的臨時列,每行的列值是2;

2:得出一個數,該數是table表的行數;

3:得出一個數,該數是table表的行數×2的數

然後我又用更大的數測試:

1:得出一個行數和table表行數一樣的臨時列,每行的列值是我寫在select後的數;

2:還是得出一個數,該數是table表的行數;

3:得出一個數,該數是table表的行數×寫在select後的數

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

語句if not exists(select 1 from deleted d join inserted i on d.ID=i.ID
and d.col1=1 and i.col1=2)

if not exists 如果不存在
(..)這裡該是驗證更新,更新前的id等於更新後的id,並且更新前col的值是1,更新後的值是2

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.