SQL的學習筆記 判空時賦值

2021-10-05 01:13:48 字數 1318 閱讀 5522

sql做統計查詢時,經常需要在分組之後統計另乙個欄位的總數。這是往往會遇到count(待統計字段)結果為null的情況。如果直接將結果null傳送給呼叫者,對方會很難處理。於是需要在傳出判斷:若為空,則傳0。

要實現這一功能,可使用isnull函式。

函式呼叫方式

isnull(需要進行判空的數值,希望判空時返回的值)

呼叫示例

表class(aid,班級名稱,班主任姓名)

aidname

headteacher

1高一一班……2

高一二班……3

高一三班……4

高二一班

……表student(aid,學生姓名,所在班級)

aidname

classaid1張三

12李四1

3王五14

張三25李四

26王五2

7趙六2顯然,student表的classaid欄位引用自class表的aid欄位,用以說明這個同學屬於哪個班級

--這是乙個統計查詢:查詢各個班都分別有多少學生

select

[classaid]

= c.aid

,[studentnumber]

=count

(s.aid)

from class as c

join student as s on s.classaid = c.aid

group

by c.aid

--上面這個查詢會出現乙個問題,倘若有乙個班級沒有任何學生,那麼那個班級的『學生數』就會被統計為null

結果會是這樣的:

classaid

studentnumber13

243null

4null

於是希望在結果為空的時候顯示0而非null

**如下:

--這是乙個統計查詢:查詢各個班都分別有多少學生

select

[classaid]

= c.aid

,[studentnumber]

= isnull(

count

(s.aid),0

)from class as c

join student as s on s.classaid = c.aid

group

by c.aid

如此,結果就是這樣的:

classaid

studentnumber13

2430

40

SQL的字段判空

請看下面的 products 表 p id productname unitprice unitsinstock unitsonorder 1computer 69925152 printer 36536 3telephone 28015957 假如 unitsonorder 是可選的,而且可以包含...

Python學習筆記(三)奇妙的賦值

注 學習筆記 於自己在學習python過程中遇到的小問題及對網路諸多大牛提供的方法的實踐。一 同時賦值 a,b,c 1,2,3 print a,b,c 1 2 3 二 值的互換 a b b,a print a,b,c 2 1 3 三 序列解包 sequence unpacking 的神奇應用 1 以...

關於SQL的學習筆記

將兩次查詢的記錄結果混和成乙個結果進行輸出 中心思想在於將兩次查詢的結果分別作為乙個新的表,將2張新表盡心一次混和查詢,一共至少3次查詢,成功輸出結果表 基本結構為 select from select from datatable1 下面是我的例子 select distinct from sel...