一、 case when ... then ... else ... end 用法
資料表如下,我們要查詢的時候直接判斷:比如查詢出張三,男,李四3,女 只要一條SQL語句即可
select [name],(case when sex=1 then '男' else '女' end) as sex from 表名
二 、group by 的使用
例如:表如下
ID 名稱(name) 倉庫 數量
01 西瓜 一號 10
02 西瓜 二號 30
03 大米 一號 30
04 蘋果 一號 40
05 蘋果 二號 45
06 蘋果 三號 5
Select name,Sun(price) From 表 Group By name
以上SQL將返回各種商品的總數量,而不管是哪個倉庫的..
結果:
西瓜,40
大米,30
蘋果,90
三、Having從句:
文法格式為:
SELECT "column_name1", SUM("column_name2") 0
FROM "table_name" GROUP BY "column_name1"
HAVING (arithematic function condition)
例如:我們可能只希望看到Store_Information資料表中銷售總額超過1500美圓的商店的資訊,這時我們就需要使用HAVING從句:
SELECT store_name, SUM(sales)
FROM Store_Information
GROUP BY store_name
HAVING SUM(sales) > 1500
四、一個日期判斷的sql語句
例如:請取出tb_send表中日期(SendTime欄位)為當天的所有記錄?(SendTime欄位為datetime型,包含日期與時間)
------------------------------------------
select * from tb where datediff(dd,SendTime,getdate())=0
五、查詢2009-11月份的某表的所有記錄,假如時間欄位為RecordTime,表名為Table1
寫法一:
select * from Table1 where year(RecordTime)=2009 and month(RecordTime)=11
寫法二:
select * from Table1 where convert(nchar(10),logintime,112) between '2009-12-01' and '2009-12-31'