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

[Thuc tnh 2] [Kiu d liu 3]
)
Create table NHAN_VIEN
(
manv char(10),
hoten varchar(30),
ngaysinh datetime,
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)

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

You might also like