SQL語句中case when then的使用

2021-08-20 21:42:35 字數 1026 閱讀 2206

使用語法為:select `pro`.`id` as `id`,`pro`.`title` as `title`,`pro`.`name` as `name`,`pro`.`ltime` as `ltime`,`pro`.`place` as `place`,`pro`.`linkman` as `linkman`,`pro`.`address` as `address`,`pro`.`tel` as `tel`,`pro`.`email` as `email`,`pro`.`adder` as `adder`,`pro`.`addtime` as `addtime`,`pro`.`remark` as `remark`,`prep`.`addtime` as `addtime1`,`preplog`.`addtime` as `addtime2`,

(case

when (`prep`.`addtime` is not null) then '1' 

when ((`preplog`.`addtime` is not null) and isnull(`prep`.`addtime`)) then '2' 

else '0' end) as `status` 

from ((`pro` left join `prep` on((`pro`.`id` = `prep`.`pid`))) left join `preplog` on((`pro`.`id` = `preplog`.`pid`))) where (`pro`.`type` = '認領資訊');

這裡主要注意的問題:

(1)as關鍵字主要是對字段進行重新命名,可以忽略不寫;

(2)is not null 、is null、 isnull ()判斷字段是否為空;

(3)(case  

when     then  1

when   then 2

else   0  end ) as '';

end 關鍵字不能缺少,as後面是對條件查詢結果的重新命名,也可以忽略;

(4)left join on 實現多表的連線,where 關鍵字是對多表鏈結結果的條件篩選。

sql查詢語句中

sql查詢語句中select t.status,t.rowid from person t where t.status 2,此處查詢的是status不等於2的記錄,並過濾掉status為null的記錄。注意 此處不管status是integer型別還是long型別,都會過濾掉status為null...

SQL語句中 ( ) 含義

表示外連線。條件關聯時,一般只列出表中滿足連線條件的資料。如果條件的一邊出現 則可列出該表中在條件另一側的資料為空的那些記錄。比如兩個表 員工表和工資表。員工表中有總經理 a b c四條記錄,工資表中只有a b c三人的記錄。如果寫如下語句 select 姓名,工資 from 員工表,工資表 whe...

Sql語句中的DDL語句

資料庫模式定義語言ddl data definition language 是用於描述資料庫中要儲存的現實世界實體的語言。主要由create 新增 alter 修改 drop 刪除 和 truncate 刪除 四個關鍵字完成。create database 資料庫名 建立乙個資料庫 create d...