SQL Database Management Part 9

1. Select method and performance

1.Exist

範例:四月有哪些客戶訂貨
PS:比較三種語法的不同,效能差異

查詢語法

效能 (執行計畫分析)


2. Union :聯集
3. Intersect :交集
4.except :前面有後面沒有

範例一:5月12筆,4月4筆。

select 客戶名稱 from dbo.客戶 c
join dbo.訂單 d on c.客戶編號=d.客戶編號
where datepart(m,日期) = 5
except
select 客戶名稱 from dbo.客戶 c
join dbo.訂單 d on c.客戶編號=d.客戶編號
where datepart(m,日期) = 4

就是5月有訂單但4月沒有的客戶,共3筆
結果:


範例二:

select 客戶名稱 from dbo.客戶 c
join dbo.訂單 d on c.客戶編號=d.客戶編號
where datepart(m,日期) = 4
except
select 客戶名稱 from dbo.客戶 c
join dbo.訂單 d on c.客戶編號=d.客戶編號
where datepart(m,日期) = 5


就是4月有訂單但5月沒有的客戶,共0筆
結果:



2. Drop, Create table / Insert, Update, Delete data

1.刪除資料表

drop table demo;

2.建立資料表
Create Table demo
(
ID int Not NULL, username varchar(50) NOT NULL, phone varchar(20)
);

3. insert 語法 (插入資料到資料表)
insert into demo
(ID, username, phone) Values (1, 'aa', '12345');


範例一:

drop table demo;
Create Table demo
(
ID int Not NULL, username varchar(50) NOT NULL, phone varchar(20)
);

--插入二筆資料,用逗號分隔
insert into demo
(ID, username, phone) Values (1, 'aa', '12345'), (2,'bb','5325')



結果

4.update 語法
update demo set username='aa' where ID = 2
說明:
demo = 資料表名稱
set 後面要接 欄位名稱
一定藥用 where  子句來指定要更新哪一筆資料,否則會更新全部的資料,全部的資料會變成相同。

5.delete 語法
delete from demo where ID = 3
說明:同上

3. MS SQL 管理簡介
請參考 MS SQL 2008 books online,有問題也歡迎與我討論。
Microsoft SQL Server 2008 線上叢書 (2009 年 10 月)




1 comment:

Ka'Oh Chen said...

很怪,關於效能我跑了三個語法,通通都一樣....不知道是哪邊看錯還是甚麼問題