Trng tm 1) To bng 2) Thay i cu trc bng 3) Nhp, cp nht d liu Cphpculnhtobngvkhachnh To bng khng c kha chnh C php V d Create table [Tn Bng] ( [Thuc tnh 1] [Kiu d liu 1], [Thuc tnh 2] [Kiu d liu 2],
To bng c kha chnh Create table [Tn Bng] ( [Thuc tnh 1] [Kiu d liu 1], [Thuc tnh 2] [Kiu d liu 2], ... [Thuc tnh n] [Kiu d liu n], PRIMARY KEY ([Danh sch cc thuc tnh lm kha chnh, cch nhau Create table NHAN_VIEN ( manv char(10), hoten varchar(30), ngaysinh datetime, luong float, PRIMAMRY KEY (manv)
2 B mn H Thng Thng Tin Khoa CNTT To bng km theo kha chnh v kha ngoi Cclnhvthayicutrcbng - Thm, xa, sa mt thuc tnh - Thm, xa kha chnh - Thm, xa kha ngoi - Thm, xa rng buc min gi tr - Thm, xa rng buc UNIQUE Thm, xa, sa mt thuc tnh bng du phy)] ) ) Create table [Tn Bng] ( [Thuc tnh 1] [Kiu d liu 1], [Thuc tnh 2] [Kiu d liu 2], ... [Thuc tnh n] [Kiu d liu n], CONSTRAINT [Tn Kha Chnh] PRIMARY KEY ([Danh sch cc thuc tnh lm kha chnh, cch nhau bng du phy)] CONSTRAINT [Tn Kha Ngoi] FOREIGN KEY ([Danh sch cc thuc tnh kha ngoi]) REFERENCES [Tn bng tham chiu]([Danh sch cc thuc tnh kha chnh ca bng tham chiu n]) ) Create table PHONG ( Maphg char(10), Tenphg varchar(30), Diadiem varchar(40), Trphg char(10), CONSTRAINT PK_NHANVIEN PRIMARY KEY (maphg) CONSTRAINT FK_PHONG_NHANVIEN FOREIGN KEY (Trphg) REFERENCES NHAN_VIEN(Manv) ) C php V d
3 B mn H Thng Thng Tin Khoa CNTT
Thm rng buc kha chnh, kha ngoi, min gi tr Thm thuc tnh : Alter table [Tn Bng] add [Tn thuc tnh] [Kiu d liu] Thm thuc tnh DiaChi Alter table NhanVien add DiaChi varchar(20) Xa thuc tnh : Alter table [Tn Bng] drop column [Tn thuc tnh] Xo thuc tnh DiaChi Alter table NhanVien Drop DiaChi
Sa thuc tnh : Alter table [Tn Bng] alter column [Tn thuc tnh] [Kiu d liu mi] Sa thuc tnh DiaChi Alter table NhanVien Alter column DiaChi varchar(50)
C php V d Thm kha chnh : Alter table [Tn Bng] add constraint [Tn kha chnh] PRIMARY KEY ([Danh sch cc thuc tnh ca kha chnh]) Lu : Khi to kha chnh cho bng bn ngoi lnh to bng th cc thuc tnh ca kha chnh phi c khai bo l NOT NULL trong cu lnh to bng Thm kho chnh cho bng nhn vin: Alter table NhanVien add constraint PK_NHANVIEN PRIMARY KEY (MaNV) Thm kha ngoi : ALTER TABLE [Tn Bng] ADD CONSTRAINT [Tn kha ngoi] FOREIGN KEY ([Danh sch cc thuc tnh kho ngoi]) REFERENCES [Tn bng tham chiu] ( Thm kha ngoi cho bng PHONG: ALTER TABLE PHONG ADD CONSTRAINT FK_PHONG_NHANVIEN FOREIGN KEY (trphg) REFERENCES NHANVIEN(manv)
4 B mn H Thng Thng Tin Khoa CNTT
Xa rng buc kha chnh, kha ngoi, min gi tr
Mt s lu : - Tn kho chnh, kha ngoi ch mang tnh gi nh. - Danh sch cc thuc tnh kho ngoi cch nhau bng du phy - Danh sch cc thuc tnh kho chnh cch nhau bng du phy Cclnhxemthngtincamtbng [Danh sch cc thuc tnh kho chnh ca bng tham chiu ti])
Thm rng buc min gi tr ALTER TABLE [Tn Bng] ADD CONSTRAINT [Tn rng buc min gt] CHECK ([Biu thc iu kin]) Thm rng buc phi thuc Nam hoc N ALTER TABLE NHANVIEN ADD CONSTRAINT C_PHAI CHECK (PHAI IN (Nam, N))
Alter table [Tn Bng] drop constraint [Tn rng buc] Xa kha chnh Alter table NHANVIEN drop constraint PK_NHANVIEN Xa kha ngoi Alter table PHONG drop constraint FK_PHONG_NHANVIEN C php V d Xem cu trc bng sp_help [Tn Bng] sp_help NHANVIEN
5 B mn H Thng Thng Tin Khoa CNTT Nhp,cpnhtdliu Mt s c php nhp d liu
Mt s lu : Xem thng tin kha chnh ca bng sp_pkeys [Tn Bng] sp_pkeys NHANVIEN Xem thng tin kha ngoi ca bng sp_fkeys [Tn Bng] sp_fkeys NHANVIEN C php V d
V d : NHANVIEN (manv, hoten, ngaysinh, phai, luong,phg) Insert khng tng minh Insert into [Tn Bng] values ([gt 1 ], [gt 2 ], ..., [gt n ] Insert into NHANVIEN values (NV001, Nguyen Van A, 12/30/1955, Nam, 5000, null) Insert tng minh Insert into [Tn Bng] ([tt 1 ], [tt 2 ], ..., [tt n ]) values ([gt 1 ], [gt 2 ], ..., [gt n ] Insert into NHANVIEN(manv, hoten, phai, ngaysinh, luong) values (NV001, Nguyen Van A, Nam,12/30/1955, 5000) Insert t mt ngun d liu c sn : Cha quan tm : Xem t kha INSERT...SELECT
Kiu d liu Unicode Thm k t N trc chui Unicode Insert into NHANVIEN values (NV001, NNguyn Vn Trng, 12/30/1955, Nam, 5000, null) Kiu d liu ngy thng nh dng nhp ngy thng mc nh : mm/dd/yyyy Insert into NHANVIEN values (NV001, NNguyn Vn Trng, 12/30/1955, Nam, 5000, null)
6 B mn H Thng Thng Tin Khoa CNTT
Nhp d liu khi c rng buc kha ngoi: Insert mt b c 1 gi tr l NULL Dng t kha null Insert into NHANVIEN values (NV001, Nguyen Van A, 12/30/1955, Nam, 5000, null) Thuc tnh NOT NULL Nu thuc tnh c khai bo trong c php to bng l NOT NULL th bt buc phi c gi tr khi nhp 1 b vo bng.
Cch 1: 1. Bc 1 : Nhp phng ban 2. Bc 2 : Nhp n Cch 2: 1. Bc 1 : Nhp DEAN, nhp PHONG = null 2. Bc 2 : Nhp phng ban 3. Bc 3 : Cp nht DEAN
7 B mn H Thng Thng Tin Khoa CNTT Xabng C php cu lnh xa bng:
Cch 1: Bc 1 : Nhp NHANVIEN, t PHG l null Bc 2 : Nhp PHONGBAN Bc 3 : Cp nht thuc tnh PHG ca NHANVIEN Cch 2 : Bc 1 : Nhp PHONGBAN, t TRPHG l null Bc 2 : Nhp NHANVIEN Bc 3 : Cp nht TRPHG ca phng ban
Cch 1 : - Nhng nhn vin m c MA_NQL l null th nhp trc - Sau nhp nhng Nhn vin m nhp thng tin v NQL ca nhn vin . Cch 2 : Bc 1. Nhp NHANVIEN, t thuc tnh MA_NQL l null Bc 2. Cp nht MA_NQL ca NHANVIEN Drop table [Tn bng] Drop table NHANVIEN
8 B mn H Thng Thng Tin Khoa CNTT Lu khi xa bng c lin quan n kha ngoi : 1. Nu khng c tham chiu vng th tin hnh xa bng cha kha ngoi trc sau ri xa bng cn li, hoc xa kha ngoi ri sau tin hnh xa cc bng 2. Nu c kha vng th xa mt kha mt kha vng ri tin hnh lm nh trng hp 1 Xemdliucamtbng
Xem ni dung ca mt bng SELECT * FROM [Tn bng] Xem d liu ca bng NHANVIEN SELECT * FROM NHANVIEN Xa ni dung ca mt bng DELETE FROM [Tn bng] WHERE [Biu thc iu kin] Xa nhn vin NV001 ca bng NHANVIEN DELETE FROM NHANVIEN WHERE manv = NV001 Xa tt c d liu bng NHANVIEN DELETE FROM NHANVIEN
1 B mn H Thng Thng Tin Khoa CNTT NgnngSQLPhn2 I. Nidungcnquantm 1) Tng qut cu truy vn. 2) Cc loi truy vn n gin. 3) Cu truy vn group by. 4) Truy vn lng v Php chia 5) Cc dng truy vn khc. II. Tngqut Mt cch tng qut, khi select gm c 3 mnh chnh: Select: Xc nh cc ct cn a ra kt qu. From: Xc nh cc bng cn ly thng tin ra. Where: Xc nh cc mu tin tha yu cu chn lc a ra kt qu. Ngoi ra, m rng kh nng ca ngn ng, khi select-from-where cn c b sung thm cc mnh group by, having, order by, cc hm h tr tnh ton: max, min, count, sum, avg. Sau y l c php tng qut ca cu truy vn d liu: SELECT [tnh cht] <danh sch cc thuc tnh_1> FROM <danh sch cc table hoc query/view [as alias] > [WHERE <iu kin_1>] [GROUP BY <danh sch cc thuc tnh_2>] [HAVING <iu kin_2>] [ORDER BY <danh sch cc thuc tnh_3 [ASC | DESC]>
Din gii : 1. Tnh cht : Mt trong cc t kha: ALL (chn ra tt c cc dng trong bng), DISTINCT (lai b cc ct trng lp thng tin), DISTINCTROW (lai b cc dng trng lp thng tin), TOP <n> (chn n dng u tin tha mn iu kin). 2. Danh sch cc thuc tnh_1: tn cc thuc tnh cho bit thng tin cn ly. Ch : Cc thuc tnh cch nhau bi du ,
2 B mn H Thng Thng Tin Khoa CNTT Nu ly tt c cc thuc tnh ca 1 bng tbl th dng: tbl.* Nu sau FROM ch c 1 table v ly tt c cc field ca table th dng select * Nu tn ti 1 thuc tnh sau select xut hin 2 table sau FROM th phi ch nh r thuc tnh thuc table no. 3. Danh sch cc table: cc table cha thng tin cn ly. Khi tm kim thng tin trn nhiu hn 2 table th phi kt cc table li vi nhau (iu kin kt t sau where) 4. Alias: b danh (tn tt) ca bng dng cho cc bng c tn qu di. 5. iu kin_1: l iu kin lc d liu. 6. Danh sch cc thuc tnh_2: d liu s c gom nhm theo cc ct ny, u tin t tri sang. 7. iu kin_2: iu kin lc li d liu sau khi thc hin tnh tan trn d liu. iu kin ny c p dng trn d liu tha mn iu kin_1. 8. Danh sch cc thuc tnh_3:sp xp d liu theo ct no, th t l tng (ASC) hoc gim (DESC). Mc nh l d liu c sp theo th t tng dn. Vic sp xp c thc hin theo th t u tin t tri qua phi. III. Truyvnngin SELECT <danh sch thuc tnh> FROM tn_bng Sau select, * c dng vi ngha ly ton b cc ct ca bng. Dng t kho distinct loi b cc b trng nhau v all ly tt c cc b d liu. Mc nh khng g c chnh l c dng t kha all. Sau select c th dng cc biu thc s hc nh: +, -, *, /, v c th thc hin cc ton t trn thuc tnh. VD: Cho bit danh sch tt c cc nhn vin vi tt c cc thng tin
A. Tm kim c sp xp sp xp th t d liu, ta s dng mnh ORDER BY: SELECT FROM ORDER BY thuc_ tnh_1[ASC|DESC], thuc_tnh_2[ASC|DESC], ...
Tp_thuc_tnh gm 1 thuc tnh hoc nhiu thuc tnh v u tin tnh t tri sang phi.
3 B mn H Thng Thng Tin Khoa CNTT VD: Vi cu lnh: select * from Table1 order by B desc,A asc trn bng di y: A B An 8 Binh 8 Chi 9 Hung 10 Ta s c kt qu sau: A B Hung 10 Chi 9 An 8 Binh 8 u tin l xp th t theo B trc, sau , vi nhng gi tr B ngang nhau th s xp theo A. VD: Cho bit danh sch cc nhn vin sp tn theo th t Alphabet
Cho bit danh sch cc nhn vin theo tng phng ban, trong tng phng ban tn nhn vin sp theo th t
B. Tm kim vi iu kin n gin h tr tm kim c iu kin, s dng mnh WHERE trong cu lnh SELECT vi v tr nh sau: 1. ANDvOR SELECT FROM
4 B mn H Thng Thng Tin Khoa CNTT WHERE (iu_kin_1) AND/OR ....(iu_kin_n) VD: SINHVIEN (MASV, HOTEN, NGSINH, LOP) Cho danh sch cc sinh vin ca lp TH01.
Lu : Khi thuc tnh c th nhn gi tr null, cn cn thn khi s dng so snh vi nhiu iu kin lin tip. 2. BETWEEN...AND,NOTBETWEENAND Cho bit cc nhn vin sinh trong khong nm 1955 n 1960
Hoc
Hoc
3. ISNULLvISNOTNULL IS NULL v IS NOT NULL : kim tra mt gi tr c phi l NULL | NOT NULL hay khng Cho bit cc nhn vin khng c ngi qun l trc tip
Cho bit cc nhn vin c ngi qun l trc tip
5 B mn H Thng Thng Tin Khoa CNTT
4. INvNOTIN IN v NOT IN dng kim tra mt gi tr nm trong hay khng nm trong mt tp hp no hay khng. Cho bit cc n t hng c t mt hng H1, H2, H3.
C. Tm kim c x l xu k t x l vi cc d liu thuc dng xu k t, ngn ng SQL c h tr php LIKE. Thng thng khi so snh thuc tnh c kiu d liu thuc dng xu k t th ngi ta thng dng LIKE ch khng dng php bng = VD: Hin ra cc sinh vin tn Trang
% : dng i din cho nhiu k t ng trc t Trang Ngoi ra cn c cc k t sau m t mu cn tm: _ thay th cho k t bt k. Ch : Like ab\%cd% cho ra nhng chui bt u vi ab%cd Like ab\\cd% cho ra nhng chui bt u vi ab\cd D. Tm kim c iu kin lin quan n ngy thng VD: DDH(MADH, NGAYDH, MAKH) CTDH(MADH, MAHH, SOLUONG, DONGIA) Cho bit nhng n t hng t trc ngy 01/01/2001
6 B mn H Thng Thng Tin Khoa CNTT
Cho bit nhng n t hng t trc ngy 01/01/2001 l 1 tun
Lu : Cho bit cc nhn vin sinh ngy 30/4/1975 Cch 1 :
Cch 2 :
Cch 2 : Chnh xc hn E. Sdngcchmtrongkhitmkim - S dng hm trong mnh where - S dng hm trong mnh select : Trong mnh select ngoi vic c s dng cc ton t nh +, -, *, / ta cn c th s dng hm i vi cc thuc tnh. o Cc hm v ngy thng : DateDiff DatePart GetDate Year Month Day DateAdd o Cc hm v chui o Cc hm chuyn i kiu d liu o Cc hm ton hc
7 B mn H Thng Thng Tin Khoa CNTT o xem thng tin chi tit v cc hm c th s dng Book Onlines Cho bit h tn nhn vin v tui ca nhn vin
Cho bit nm sinh ca nhn vin
Cho bit h v tn y ca nhn vin
F. Tmkimtnhiubng tm kim thng tin m thng tin nm nhiu bng khc nhau th khai bo s dng cc bng ti mnh FROM. Ty theo thng tin cn hin th m chng ta s s dng iu kin ti mnh WHERE sao cho thch hp. VD: Cho bit m nhn vin, tn nhn vin, tn phng ban m nhn vin trc thuc.
G. Dngtontsome,all,exists,notexists Lu : <> some v not in, <> all = not in. IV. CutruyvnsdngGroupBy A. Cchmtnhton SQL s dng cc hm sau: Count, Max, Min, Sum, Avg. Hm Count dng i s * c ngha l m tt c cc mu tin tha iu kin m m khng cn quan tm n bt k ct no. C tt c bao nhiu sinh vin trong lp th01
B. Mnhgroupby Dng gom nhm d liu, thng dng kt hp vi mt hm tnh ton k trn.
8 B mn H Thng Thng Tin Khoa CNTT Tnh im trung bnh ca tng sinh vin, bit rng im s lu trong bng KETQUA(MASV, MAMH, DIEM)
Cho bit lng ln nht trong tng phng ban NHANVIEN(MANV, TENNV, PHAI, LUONG, PHG) PHONGBAN(MAPB, TENPB, TRPHG) THANNHAN(MA_NVIEN, TENTN, PHAI, QUANHE)
C. Mnh having Mnh HAVING thng c s dng cng vi mnh GROUP BY. Sau HAVING l biu thc iu kin. Biu thc iu kin ny khng tc ng vo ton bng c ch ra mnh from m ch tc ng ln lt tng nhm cc mu tin ch ra trong mnh group by. Cho bit cc sinh vin c im trung bnh ln hn hoc bng 8.0
V. Truyvnlng A. Tm kim c lng t EXISTS, ANY v ALL Cho danh sch cc nhn vin c t nht 1 thn nhn.
Cu ny c th vit li nh sau:
9 B mn H Thng Thng Tin Khoa CNTT Ch : = ANY tng ng vi ton t IN Cho bit nhn vin c lng ln nht.
Hoc c th vit nh sau:
Cho bit sinh vin c im trung bnh ln nht.
C 2 loi truy vn lng B. Loi 1: Lng phn cp Mnh WHERE ca truy vn con khng tham chiu n thuc tnh ca cc quan h trong mnh FROM truy vn cha Khi thc hin, cu truy vn con s c thc hin trc V d: Cho bit cc nhn vin cng phng vi nhn vin Nguyn Vn A
Tm nhng nhn vin c lng ln hn lng ca tt c nhn vin phng 4.
Tm phng ban c ng nhn vin nht (gom nhm + truy vn lng phn cp) Quan h NHANVIEN truy vn con khng lin quan n quan h NHANVIEN truy vn cha
10 B mn H Thng Thng Tin Khoa CNTT
Cho bit h tn nhn vin (HONV, TENLOT, TENNV) c mc lng ln hn mc lng ca mt nhn vin no ca phng "Nghin cu"
C. Loi 2: Lng tng quan Mnh WHERE ca truy vn con tham chiu t nht mt thuc tnh ca cc quan h trong mnh FROM truy vn cha. Khi thc hin, cu truy vn con s c thc hin nhiu ln, mi ln tng ng vi mt b ca truy vn cha. V d: Tm nhng nhn vin khng c thn nhn no:
Tm tt c cc nhn vin lm vic phng nghin cu
Trong truy vn con ny c tham chiu n thuc tnh MANV ca quan h NHANVIEN n trn truy vn cha Trong truy vn con ny c tham chiu n thuc tnh PHG ca quan h NHANVIEN n trn truy vn cha
11 B mn H Thng Thng Tin Khoa CNTT VI. Phpchia C 2 cch thc hin: Cch 1: S dng NOT EXISTS + NOT IN hoc NOT EXISTS + NOT EXISTS Cch 2: S dng mnh GROUP BY + HAVING VD: Tm nhn vin c phn cng lm vic trong tt c cc n do phng Nghin cu qun l Cch 1: S dng NOT EXISTS + NOT IN
S dng NOT EXISTS + NOT EXISTS
Cch 2: S dng GROUP BY + HAVING
12 B mn H Thng Thng Tin Khoa CNTT
VII. Ccloitruyvnkhc A. TruyvnconmnhSELECT Vi mi nhn vin, cho bit h, tn nhn vin v s thn nhn ca h
Vi mi phng ban, cho bit tn phng ban v lng trung bnh ca phng ban
B. TruyvnconmnhFROM Kt qu tr v ca mt cu truy vn ph l mt bng - Bng trung gian trong qu trnh truy vn - Khng c lu tr tht s VD: Cho bit nhng phng ban (TENPHG) c lng trung bnh ca cc nhn vin ln ln 20000
C. iukinktmnhFROM VD:
13 B mn H Thng Thng Tin Khoa CNTT Tm m v tn cc nhn vin lm vic ti phng Nghien cuu
Cho bit h tn nhn vin v tn phng ban m h l trng phng nu c
Tm h tn cc nhn vin v tn cc n nhn vin tham gia nu c
D. CutrcCase Cho bit h tn cc nhn vin n tui v hu (nam 60 tui, n 55 tui)
Cho bit h tn cc nhn vin v nm v hu
1 B mn H Thng Thng Tin Khoa CNTT Ngn ng SQL Phn 3 I. Mclc I. Mc lc ........................................................................................................................................ 1 II. Mt s lu v php kt .............................................................................................................. 1 A. Inner joins (Kt bng) .............................................................................................................. 1 B. Right (Outer) joins (Kt phi) .................................................................................................. 2 C. Left (Outer) joins (Kt tri) ...................................................................................................... 3 D. Full (Outer) joins ...................................................................................................................... 3 III. Php chia, php hi, php giao v php tr ............................................................................. 5 A. Php chia .................................................................................................................................. 5 B. Php hi (UNION) ................................................................................................................... 6 C. Php giao (Intersect) ................................................................................................................ 7 D. Php tr .................................................................................................................................... 8
II. Mt s lu v php kt SINHVIEN LOP
Yu cu: Cho bit s s ca mi lp A. Inner joins (Kt bng) Php kt Inner joins gia 2 bng A v B l mt bng C = {cc b trong mi b l s kt hp ca cc b trong A vi cc b trong B sao cho iu kin kt c tha mn} Php kt inner join gia SINHVIEN v LOP
2 B mn H Thng Thng Tin Khoa CNTT Kt qu
Nhn xt : Thng tin v lp 10C b mt Tnh s s ca lp
Kt qu :
Nhn xt : S s ca lp 10C (bng 0) khng c xut ra, v thng tin lp 10C b mt sau php kt bng B. Right(Outer)joins(Kt phi) Php kt Right Outer joins gia 2 bng A v B l mt bng C = {cc b trong mi b l s kt hp ca cc b trong A vi cc b trong B sao cho iu kin kt c tha mn} + {cc b cn li trong B m khng tha iu kin kt vi bt k mt b trong A no} Php kt Right (Outer) Joins gia SINHVIEN v LOP
Kt qu :
1
3 B mn H Thng Thng Tin Khoa CNTT Nhn xt : Thng tin v lp 10C vn c gi li sau php kt phi Tnh s s ca lp
Kt qu :
Nhn xt : S s ca cc lp khng c hc sinh (10 C) vn c xut ra (v php kt khng mt thng tin v lp) Cu hi : 1. Tisao v likhcnhau ? 2. Ti sao l ch khng phi l
C. Left(Outer)joins(Kt tri) Php kt Left (Outer) joins gia 2 bng A v B l mt bng C = {cc b trong mi b l s kt hp ca cc b trong A vi cc b trong B sao cho iu kin kt c tha mn} + {cc b cn li trong A m khng tha iu kin kt vi mt b bt k trong B no} D. Full (Outer) joins Php kt Full Outer joins gia 2 bng A v B l mt bng C = {cc b trong mi b l s kt hp ca cc b trong A vi cc b trong B sao cho iu kin kt c tha mn} + {cc b cn li trong A m khng tha iu kin kt vi bt k mt b trong B no} + {cc b cn li trong B m khng tha iu kin kt vi bt k mt b trong A no}
PUBLISHER 2 2 1 2
4 B mn H Thng Thng Tin Khoa CNTT
AUTHORS
Kt qu :
Cho bit nhng tc gi v nh xut bn cng thnh ph Cho bit s lng tc gi v nh xut bn cng thnh ph, s lng tc gi m khng c nh xut bn no cng thnh ph v s lng nh xut bn m khng c tc gi no cng thnh ph
5 B mn H Thng Thng Tin Khoa CNTT
III. Php chia, php hi, php giao v php tr A. Php chia Tm nhn vin lm vic tt c cc n ca cng ty - Bc 1 : Tm cc n ca cng ty m nhn vin 001 cha lm Cch 1 : Dng NOT EXISTS
Cch 2 : Dng NOT IN
- Bc 2 : Nhn xt rng : Nu kt qu tr ra l khng c b no Nhn vin 001 lm tt c cc n. Ngc li, nu kt qu tr ra l c t 1 b d liu tr ln c n ca cng ty m nhn vin 001 cha lm nhn vin 001 khng lm mi n ca cng ty. Do vy, Tm cc nhn vin lm mi n ca cng ty tng ng vi vic, kim tra tng nhn vin, nu danh sch cc n ca cng ty nhn vin cha lm l rng (khng c b no) nhn vin lm mi n ca cng ty, ngc l th nhn vin khng lm mi n ca cng ty. Cch 1 : Nu bc 1 s dng NOT EXISTS
6 B mn H Thng Thng Tin Khoa CNTT
Cch 2 : Nu bc 1 s dng NOT IN
B. Php hi (UNION) Php hi (Union) s dng tng hp d liu t cc bng 1 bng - UNION : Cc dng trng lp s c b i - UNION ALL : Ly tt c cc dng ca cc bng iu kin thc hin c Union : Cc bng phi c cng s lng thuc tnh v tng ng kiu d liu gia cc ct. Cc ct ca bng kt xut chnh l cc ct trong bng u tin. TABLE1
TABLE2
UNION UNION ALL
7 B mn H Thng Thng Tin Khoa CNTT
Kt qu:
Kt qu :
C. Php giao (Intersect) S dng EXISTS hoc IN thc hin php giao Tm cc nhn vin c lm n ca phng nghin cu v va l trng phng Nhn xt : nhn vin c lm n ca phng nghin cu v va l trng phng = Nhn vin lm n ca phng nghin cu Nhn vin l trng phng - S dng IN () AND IN (.) Lng phn cp
- S dng EXISTS Lng tng quan
8 B mn H Thng Thng Tin Khoa CNTT
- S dng IN Lng phn cp
S dng EXISTS v NOT EXISTS thc hin php giao v php tr D. Php tr S dng NOT EXISTS hoc NOT IN thc hin php tr Tm cc nhn vin khng tham gia n no Nhn xt : Nhn vin khng tham gia n = Tt c nhn vin Nhn vin c tham gia n S dng NOT EXISTS
S DNG NOT IN
9 B mn H Thng Thng Tin Khoa CNTT n khng c nhn vin no tham gia Nhn xt : n khng c nhn vin tham gia = Tt c cc n n c nhn vin tham gia S dng NOT EXISTS
S dng NOT IN
1 B mn H Thng Thng Tin Khoa CNTT Ngn ng SQL Phn 4 I. Mclc I. Mc lc ........................................................................................................................................ 1 II. Tng hp d liu s dng COMPUTE, COMPUTE BY, CUBE ................................................ 2 A. COMPUTE .............................................................................................................................. 2 B. COMPUTE BY ........................................................................................................................ 2 C. GROUP BY WITH CUBE ................................................................................................. 2 D. GROUP BY WITH ROLLUP............................................................................................. 3 III. Cc cu lnh INSERT, UPDATE m rng .............................................................................. 4 A. UPDATE d liu t d liu c sn .......................................................................................... 4 B. INSERT d liu vo mt bng t mt bng c sn ................................................................. 4 IV. Cu trc CASE ......................................................................................................................... 4 A. Cu trc 1 ................................................................................................................................. 4 B. Cu trc 2 ................................................................................................................................. 5
2 B mn H Thng Thng Tin Khoa CNTT II. Tng hp d liu s dng COMPUTE, COMPUTE BY, CUBE A. COMPUTE S dng tng hp d liu ca cc bng Cho bit cc nhn vin, tng lng, lng trung bnh ca tt c cc nhn vin
B. COMPUTE BY Cho bit cc nhn vin ca tng phng, tng lng, lng trung bnh ca tng phng
- Lu : o Cc thuc tnh sau COMPUTE BY phi c trong danh sch cc thuc tnh sau ORDER BY o Khng t tn kt qu tr ra c C. GROUP BY WITH CUBE
Tng hp s lng ca cc item theo tn v mu, theo tng tn, theo tng mu, tng s item
Kt qu l :
3 B mn H Thng Thng Tin Khoa CNTT
Nhn xt - Group by n thuc tnh s thng k theo 2 n tiu ch - Nhng thng k m khng c d liu s khng c xut ra D. GROUP BY WITH ROLLUP Tng hp s lng ca cc item theo tng tn v mu, theo tng tn, tng s item
Kt qu l :
S lng Item tn Chair v mu Blue l 101 S lng Item (tn bt k, mu bt k) = tng s item l 658 S lng Item tn Table (mu bt k) l : 347 S lng Item mu Red (tn bt k) : 433 S lng Item tn Chair v mu Blue l 101 S lng Item (tn bt k, mu bt k) = tng s item l 658 S lng Item tn Table (mu bt k) l : 347 Thng k theo tng tn v mu, theo tng tn tng t WITH CUBE nhng loi b bt tiu ch thng k
4 B mn H Thng Thng Tin Khoa CNTT III. Cc cu lnh INSERT, UPDATE m rng Cho cc quan h sau : SINHVIEN (MASV, HOTEN, DIEMTB, HANG) SINHVIENGIOI(MASV, HOTEN, DIEMTB) A. UPDATE d liu t d liu c sn Cp nht hng ca sinh vin
B. INSERT d liu vo mt bng t mt bng c sn Thm d liu vo bng SINHVIENGIOI cc sinh vin c im trung bnh t 8.0 tr ln
IV. Cu trc CASE A. Cu trc 1
V d : Cho bit h tn cc nhn vin v nm v hu
Cho bit h tn cc nhn vin n tui v hu (nam 60 tui, n 55 tui)
5 B mn H Thng Thng Tin Khoa CNTT
B. Cu trc 2
V d : Cho bit sinh vin v xp loi hc lc ca sinh vin
1 B mn H Thng Thng Tin Khoa CNTT Ngn ng SQL Phn 5 I. i tng SYSOBJECTS A. Gii thiu - Sysobjects l mt bng ca h thng, lu thng tin v tt c cc i tng c trong c s d liu. V d nh l, cc bng ca h thng, cc bng do ngi dng to ra, cc kha chnh, cc kha ngoi, cc rng buc check constraint, rng buc UNIQUE, cc hm do ngi dng nh ngha, cc store procedure, - T kha trong book onlines : sysobjects B. Cu trc ca bng SYSOBJECTS Tn ct Kiu d liu ngha name sysname Object name. Id int Object identification number. xtype char(2) Object type uid smallint User ID of owner object. info smallint Reserved. For internal use only. status int Reserved. For internal use only. base_schema_ver int Reserved. For internal use only. replinfo int Reserved. For use by replication. parent_obj int Object identification number of parent object (for example, the table ID if a trigger or constraint). crdate datetime Date the object was created. ftcatid smallint Identifier of the full-text catalog for all user tables registered for full-text indexing, and 0 for all user tables not registered. schema_ver int Version number that is incremented every time the schema for a table changes. stats_schema_ver int Reserved. For internal use only. type char(2) Object type userstat smallint Reserved. sysstat smallint Internal status information. indexdel smallint Reserved. refdate datetime Reserved for future use. version int Reserved for future use. deltrig int Reserved. instrig int Reserved.
2 B mn H Thng Thng Tin Khoa CNTT updtrig int Reserved. seltrig int Reserved. category int Used for publication, constraints, and identity. cache smallint Reserved. C. Ccgitr ca TYPE v XTYPE XTYPE ngha TYPE ngha C CHECK constraint C CHECK constraint D Default or DEFAULT constraint D Default or DEFAULT constraint F FOREIGN KEY constraint F FOREIGN KEY constraint L Log FN Scalar function FN Scalar function IF Inlined table-function IF Inlined table-function K PRIMARY KEY or UNIQUE constraint P Stored procedure L Log PK PRIMARY KEY constraint (type is K) P Stored procedure RF Replication filter stored procedure R Rule S System table RF Replication filter stored procedure TF Table function S System table TR Trigger TF Table function U User table TR Trigger UQ UNIQUE constraint (type is K) U User table V View V View X Extended stored procedure X Extended stored procedure D. Mt s v d minh ha ng dng Lit k cc bng do ngi dng to ra
Kim tra mt i tng c tn ti hay khng thc hin mt thao tc no Kim tra nu bng NHAN_VIEN tn ti th xa bng
3 B mn H Thng Thng Tin Khoa CNTT Kim tra nu kha ngoi FK_NHANVIEN_PHONGBAN tn ti th xa
II. i tng SYSDATABASES A. Gii thiu - SYSDATABASES l mt bng lu thng tin v cc c s d liu ca h thng. Mi dng trong SYSDATABASES l thng tin v mt CSDL no . - SYSDATABASES l mt table ch c trong CSDL master. - T kha trong book onlines : sysdatabases B. Cu trc bng Mt s thuc tnh cn quan tm Column name Data type Description name sysname Tn ca databases dbid smallint Database ID sid varbinary(85) System ID of the database creator. mode smallint Used internally for locking a database while it is being created. crdate datetime Creation date. filename nvarchar(260) Operating-system path and name for the database's primary file.
C. Vd Ly danh sch cc tn database ca h thng
4 B mn H Thng Thng Tin Khoa CNTT Kim tra mt database c tn ti hay khng Kim tra nu database QLDA tn ti th xa