You are on page 1of 39

1

B mn H Thng Thng Tin Khoa CNTT

Ngn ng SQL Phn 1


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
Create table [Tn Bng] ( [Thuc tnh 1] [Kiu d liu 1], [Thuc tnh 2] [Kiu d liu 2],

V d
Create table NHAN_VIEN ( manv char(10), hoten varchar(30), ngaysinh datetime,

[Thuc tnh 2] [Kiu d liu 3] ) )

luong float

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)

B mn H Thng Thng Tin Khoa CNTT


bng du phy)] ) )

To bng km theo kha chnh v kha ngoi


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) )

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

C php

V d

B mn H Thng Thng Tin Khoa CNTT


Thm thuc tnh : Alter table [Tn Bng] add [Tn thuc tnh] [Kiu d liu] Xa thuc tnh : Alter table [Tn Bng] drop column [Tn thuc tnh] Thm thuc tnh DiaChi Alter table NhanVien add DiaChi varchar(20) 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)

Thm rng buc kha chnh, kha ngoi, min gi tr

C php
Thm kha chnh : Alter table [Tn Bng] add constraint [Tn kha chnh] PRIMARY KEY ([Danh sch cc thuc tnh ca kha chnh])

V d
Thm kho chnh cho bng nhn vin: Alter table NhanVien add constraint PK_NHANVIEN PRIMARY KEY (MaNV)

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 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)

B mn H Thng Thng Tin Khoa CNTT


[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))

Xa rng buc kha chnh, kha ngoi, min gi tr


Xa kha chnh Alter table [Tn Bng] drop constraint [Tn rng buc] Alter table NHANVIEN drop constraint PK_NHANVIEN Xa kha ngoi Alter table PHONG drop constraint FK_PHONG_NHANVIEN

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 C php
Xem cu trc bng sp_help [Tn Bng] sp_help NHANVIEN

V d

B mn H Thng Thng Tin Khoa CNTT


Xem thng tin kha chnh ca bng sp_pkeys [Tn Bng] Xem thng tin kha ngoi ca bng sp_fkeys [Tn Bng] sp_fkeys NHANVIEN sp_pkeys NHANVIEN

Nhp,cpnhtdliu
Mt s c php nhp d liu

C php

V d

V d

: NHANVIEN (manv, hoten, ngaysinh, phai, luong,phg) Insert into NHANVIEN values (NV001, Nguyen Van A, 12/30/1955, Nam, 5000, null) Insert into NHANVIEN(manv, hoten, phai, ngaysinh, luong) values (NV001, Nguyen Van A, Nam,12/30/1955, 5000)

Insert khng tng minh Insert into [Tn Bng] values ([gt1], [gt2], ..., [gtn] Insert tng minh Insert into [Tn Bng] ([tt1], [tt2], ..., [ttn]) values ([gt1], [gt2], ..., [gtn] Insert t mt ngun d liu c sn : Cha quan tm : Xem t kha INSERT...SELECT

Mt s lu :
Kiu d liu Unicode Thm k t N trc chui Unicode 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) Insert into NHANVIEN values (NV001, NNguyn Vn Trng, 12/30/1955, Nam, 5000, null)

B mn H Thng Thng Tin Khoa CNTT


Insert mt b c 1 gi tr l NULL Dng t kha 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. Insert into NHANVIEN values (NV001, Nguyen Van A, 12/30/1955, Nam, 5000, null)

Nhp d liu khi c rng buc kha ngoi:


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

B mn H Thng Thng Tin Khoa CNTT


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

Xabng
C php cu lnh xa bng:
Drop table [Tn bng] Drop table NHANVIEN

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] Xa ni dung ca mt bng DELETE FROM [Tn bng] WHERE [Biu thc iu kin] Xem d liu ca bng NHANVIEN SELECT * FROM NHANVIEN Xa nhn vin NV001 ca bng NHANVIEN DELETE FROM NHANVIEN WHERE manv = NV001 Xa tt c d liu bng NHANVIEN DELETE FROM NHANVIEN

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). 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. 4. 5. 6. 7. 8. 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) Alias: b danh (tn tt) ca bng dng cho cc bng c tn qu di. iu kin_1: l iu kin lc d liu. Danh sch cc thuc tnh_2: d liu s c gom nhm theo cc ct ny, u tin t tri sang. 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. 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.

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 An Binh Chi B 8 8 9

Hung 10 Ta s c kt qu sau: A B

Hung 10 Chi An Binh 9 8 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. SELECT FROM ANDvOR

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

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.
VD:

Tm kim c iu kin lin quan n ngy thng


DDH(MADH, NGAYDH, MAKH) CTDH(MADH, MAHH, SOLUONG, DONGIA) Cho bit nhng n t hng t trc ngy 01/01/2001

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

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.

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:

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 Quan h NHANVIEN truy vn con khng lin quan n quan h NHANVIEN truy vn cha 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)

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: Trong truy vn con ny c tham chiu n thuc tnh MANV ca quan h NHANVIEN n trn truy vn cha Tm tt c cc nhn vin lm vic phng nghin cu

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

B mn H Thng Thng Tin Khoa CNTT

Ngn ng SQL Phn 3


I.
I. II. A. B. C. D. III. A. B. C. D.

Mclc
Mc lc ........................................................................................................................................ 1 Mt s lu v php kt .............................................................................................................. 1 Inner joins (Kt bng) .............................................................................................................. 1 Right (Outer) joins (Kt phi) .................................................................................................. 2 Left (Outer) joins (Kt tri) ...................................................................................................... 3 Full (Outer) joins ...................................................................................................................... 3 Php chia, php hi, php giao v php tr ............................................................................. 5 Php chia .................................................................................................................................. 5 Php hi (UNION) ................................................................................................................... 6 Php giao (Intersect) ................................................................................................................ 7 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

B mn H Thng Thng Tin Khoa CNTT Kt qu

Nhn xt : Thng tin v lp 10C b mt Tnh s s ca lp 1

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 :

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 2

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 1. Tisao 2 2. Ti sao l ch khng phi l v 2 likhcnhau ?

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

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

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

B mn H Thng Thng Tin Khoa CNTT

Cch 2 : Nu bc 1 s dng NOT IN

B.
-

Php hi (UNION)
UNION : Cc dng trng lp s c b i UNION ALL : Ly tt c cc dng ca cc bng

Php hi (Union) s dng tng hp d liu t cc bng 1 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

B mn H Thng Thng Tin Khoa CNTT

Kt qu:

Kt qu :

C.

Php giao (Intersect)


Tm cc nhn vin c lm n ca phng nghin cu v va l trng phng

S dng EXISTS hoc IN thc hin php giao

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

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
Tm cc nhn vin khng tham gia n no

S dng NOT EXISTS hoc NOT IN thc hin php tr

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

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

B mn H Thng Thng Tin Khoa CNTT

Ngn ng SQL Phn 4


I.
I. II. A. B. C. D. III. A. B. IV. A. B.

Mclc
Mc lc ........................................................................................................................................ 1 Tng hp d liu s dng COMPUTE, COMPUTE BY, CUBE ................................................ 2 COMPUTE .............................................................................................................................. 2 COMPUTE BY ........................................................................................................................ 2 GROUP BY WITH CUBE ................................................................................................. 2 GROUP BY WITH ROLLUP............................................................................................. 3 Cc cu lnh INSERT, UPDATE m rng .............................................................................. 4 UPDATE d liu t d liu c sn .......................................................................................... 4 INSERT d liu vo mt bng t mt bng c sn ................................................................. 4 Cu trc CASE ......................................................................................................................... 4 Cu trc 1 ................................................................................................................................. 4 Cu trc 2 ................................................................................................................................. 5

B mn H Thng Thng Tin Khoa CNTT

II.

Tng hp d liu s dng COMPUTE, COMPUTE BY, CUBE


A.

COMPUTE
Cho bit cc nhn vin, tng lng, lng trung bnh ca tt c cc nhn vin

S dng tng hp d liu ca cc bng

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 :

B mn H Thng Thng Tin Khoa CNTT

S lng Item tn Chair v mu Blue l 101 S lng Item tn Table (mu bt k) l : 347 S lng Item (tn bt k, mu bt k) = tng s item l 658 S lng Item mu Red (tn bt k) : 433

Nhn xt Group by n thuc tnh s thng k theo 2n 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

Thng k theo tng tn v mu, theo tng tn tng t WITH CUBE nhng loi b bt tiu ch thng k Kt qu l : S lng Item tn Chair v mu Blue l 101 S lng Item tn Table (mu bt k) l : 347 S lng Item (tn bt k, mu bt k) = tng s item l 658

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)

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

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.
Tn ct

Cu trc ca bng SYSOBJECTS


Kiu d liu sysname int char(2) smallint smallint int int int int datetime smallint int int char(2) smallint smallint smallint datetime int int int ngha Object name. Object identification number. Object type User ID of owner object. Reserved. For internal use only. Reserved. For internal use only. Reserved. For internal use only. Reserved. For use by replication. Object identification number of parent object (for example, the table ID if a trigger or constraint). Date the object was created. Identifier of the full-text catalog for all user tables registered for full-text indexing, and 0 for all user tables not registered. Version number that is incremented every time the schema for a table changes. Reserved. For internal use only. Object type Reserved. Internal status information. Reserved. Reserved for future use. Reserved for future use. Reserved. Reserved.

name Id xtype uid info status base_schema_ver replinfo parent_obj crdate ftcatid schema_ver stats_schema_ver type userstat sysstat indexdel refdate version deltrig instrig

B mn H Thng Thng Tin Khoa CNTT

updtrig seltrig category


cache

int int int


smallint

Reserved. Reserved. Used for publication, constraints, and identity.


Reserved.

C.
XTYPE C D F L FN IF P PK RF S TF TR U UQ V X

Ccgitr ca TYPE v XTYPE


ngha CHECK constraint Default or DEFAULT constraint FOREIGN KEY constraint Log Scalar function Inlined table-function Stored procedure PRIMARY KEY constraint (type is K) Replication filter stored procedure System table Table function Trigger User table UNIQUE constraint (type is K) View Extended stored procedure TYPE C D F FN IF K L P R RF S TF TR U V X ngha CHECK constraint Default or DEFAULT constraint FOREIGN KEY constraint Scalar function Inlined table-function PRIMARY KEY or UNIQUE constraint Log Stored procedure Rule Replication filter stored procedure System table Table function Trigger User table View 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

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.
Column name name dbid sid mode crdate filename

Cu trc bng Mt s thuc tnh cn quan tm


Data type sysname smallint varbinary(85) smallint datetime nvarchar(260) Description Tn ca databases Database ID System ID of the database creator. Used internally for locking a database while it is being created. Creation date. Operating-system path and name for the database's primary file.

C.

Vd
Ly danh sch cc tn database ca h thng

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

You might also like