ngoÂn ngÖÕ sql
Post on 03-Jan-2016
45 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
NGOÂN NGÖÕ SQL
1. Ngoân ngöõ moâ taû döõ lieäu2. Ngoân ngöõ thao taùc döõ lieäu3. Ngoân ngöõ truy vaán döõ lieäu
2
CÔ SÔÛ DÖÕ LIEÄU VÍ DUÏ
Cho CSDL goàm caùc Baûng sau:SINHVIEN (MSSV, HOLOT, TEN, PHAI,
NGAYSINH, QUEQUAN, DIACHI, MALOP)DSLOP (MALOP, TENLOP, SISO, MAKHOA)DSKHOA (MAKHOA, TENKHOA)MONHOC (MAMH, TENMH, SOTC)KETQUA (MSSV, MAMH, DIEM)
3
CÔ SÔÛ DÖÕ LIEÄU VÍ DUÏ
MSSV HOLOT TEN PHAI NGAYSINH
QUEQUAN DIACHI MALOP
T001 LE VAN TU NAM 13/5/81 TPHCM 12 LELOI-Q1 – TPHCM T1N
D002 TRAN THI DIEM NU 3/12/82 HANOI 3/1A BAHAT - Q10 D1N
H003 NGUYEN VU LINH NAM 1/6/80 DONGTHAP 25 VOTHISAU - Q3 H1N
K004 CAO VAN HUNG NAM 31/7/81 VINHLONG 33/5 HONG HA – TB K1N
T005 LE TIEN DUNG NAM 11/3/84 DONGNAI 77/8 LE LOI - Q1 T2N
T006 DAO VAN DUNG NAM 6/6/79 HUE 38/4 TAM DAO – Q10 T1N
H007 TRAN MINH HANH NU 4/8/81 HANOI 9 BINHGIA – TB H1N
D008 DINH THI TUYET NU 23/4/82 TPHCM 22 CC MIEUNOI D2N
D009 LY HAI TRIEU NAM 18/2/81 CANTHO F7 NGUYEN OANH D1N
K010 HA NGUYEN XUAN NU 16/3/80 ANGIANG 365 CAO THANG K1N
SINHVIEN
4
CÔ SÔÛ DÖÕ LIEÄU VÍ DUÏ
MALOP TENLOP SISO MAKHOA
T1N TIN HOC 1 75 TH
T2N TIN HOC 2 68 TH
D1N DIEN TU 1 57 DD
D2N DIEN TU 2 61 DD
H1N HOA HOC 1 123 HH
K1N KINH TE 1 84 KT
DSLOP
MAKHOA TENKHOA
TH CONG NGHE THONG TIN
DD DIEN – DIEN TU
HH CONG NGHE HOA
KT KINH TE
DSKHOA
5
CÔ SÔÛ DÖÕ LIEÄU VÍ DUÏ
MAMH TENMH SOTC
THCB TIN HOC CAN BAN 4
THVP TIN HOC VAN PHONG 3
CSDL CO SO DU LIEU 4
LTCB LAP TRINH CAN BAN 5
CTDL CAU TRUC DU LIEU 4
MANG MANG MAY TINH 3
MONHOCMSSV MAMH DIEM
T001 THVP 6
T001 CSDL 7
D002 THCB 8
D002 THVP 5
D002 LTCB 3
H003 LTCB 9
H003 CTDL 6
K004 THCB 5
K004 THVP 7
K004 CSDL 9
T005 THCB 1
T005 MANG 5
KETQUA
6
1. Ngoân ngöõ moâ taû döõ lieäu1. Leänh Taïo Baûng2. Leänh Xoùa Baûng3. Leänh Theâm Coät4. Leänh Xoùa Coät5. Leänh Söûa Coät6. Leänh Taïo Khoùa chính7. Leänh Taïo Khoùa ngoaïi8. Leänh Taïo raøng buoäc veà mieàn giaù
trò9. Leänh Taïo raøng buoäc duy nhaát10. Leänh Taïo chæ muïc11. Leänh Xoùa chæ muïc
7
1. Ngoân ngöõ moâ taû döõ lieäu1.Leänh Taïo BaûngCREATE TABLE <teân baûng> (<teân coät 1> <kieåu döõ lieäu 1> [NOT NULL],<teân coät 2> <kieåu döõ lieäu 2> [NOT NULL],…<teân coät n> <kieåu döõ lieäu n> [NOT
NULL]);
NOT NULL : Coät khoâng ñöôïc pheùp roãng
8
1. Ngoân ngöõ moâ taû döõ lieäu1.Leänh Taïo Baûng – Ví duïCREATE TABLE SINHVIEN (
MSSV char(4) not null,HOLOT varchar(20) not null,TEN varchar(7) not null,PHAI bit,NGAYSINH datetime,QUEQUAN varchar(20),DIACHI varchar(50),MALOP char(3) not null);
9
1. Ngoân ngöõ moâ taû döõ lieäu2.Leänh Xoùa BaûngDROP TABLE <teân baûng>;
Ví duï:DROP TABLE SINHVIEN;
10
1. Ngoân ngöõ moâ taû döõ lieäu3.Leänh Theâm CoätALTER TABLE <teân baûng> ADD <teân coät> <kieåu döõ lieäu> [NOT
NULL];
Ví duï:ALTER TABLE SINHVIEN ADD DOANVIEN bit;
11
1. Ngoân ngöõ moâ taû döõ lieäu4.Leänh Xoùa CoätALTER TABLE <teân baûng> DROP COLUMN <teân coät>;
Ví duï:ALTER TABLE SINHVIEN DROP COLUMN DOANVIEN;
12
1. Ngoân ngöõ moâ taû döõ lieäu5.Leänh Söûa CoätALTER TABLE <teân baûng> ALTER COLUMN <teân coät> <kieåu döõ
lieäu>;
Ví duï:ALTER TABLE SINHVIEN ALTER COLUMN Ngaysinh SmallDatetime;
13
1. Ngoân ngöõ moâ taû döõ lieäu6.Leänh Taïo Khoùa chínhALTER TABLE <teân baûng>
ADD CONSTRAINT <teân raøng buoäc>PRIMARY KEY (DS teân coät);
Löu yù:-Teân raøng buoäc laø duy nhaát-Caùc coät trong DS teân coät phaûi coù
thuoäc tính NOT NULL
14
1. Ngoân ngöõ moâ taû döõ lieäu6.Leänh Taïo Khoùa chính - Ví duï:ALTER TABLE SINHVIEN
ADD CONSTRAINT Kc_Sv PRIMARY KEY (mssv);
ALTER TABLE KETQUA ADD CONSTRAINT Kc_Kq PRIMARY KEY (mssv,mamh);
15
1. Ngoân ngöõ moâ taû döõ lieäu7.Leänh Taïo Khoùa ngoaïiALTER TABLE <teân baûng>
ADD CONSTRAINT <teân raøng buoäc>FOREIGN KEY (DS teân coät)REFERENCES <teân baûng> (DS teân coät);
Löu yù:-Teân raøng buoäc laø duy nhaát
16
1. Ngoân ngöõ moâ taû döõ lieäu7.Leänh Taïo Khoùa ngoaïi - Ví duï:ALTER TABLE SINHVIEN
ADD CONSTRAINT Kn_Sv FOREIGN KEY(malop)REFERENCES DSLOP (malop);
ALTER TABLE KETQUA ADD CONSTRAINT Kn_Kq1 FOREIGN KEY (mssv)REFERENCES SINHVIEN (mssv);
17
1. Ngoân ngöõ moâ taû döõ lieäu8.Leänh Taïo raøng buoäc veà mieàn
giaù tròALTER TABLE <teân baûng>
ADD CONSTRAINT <teân raøng buoäc>CHECK (Ñieàu kieän);
Löu yù:-Teân raøng buoäc laø duy nhaát
18
1. Ngoân ngöõ moâ taû döõ lieäu8.Leänh Taïo raøng buoäc mieàn giaù
trò - Ví duï:
ALTER TABLE KETQUA ADD CONSTRAINT Kt_Kq CHECK (Diem between 0 AND 10);
ALTER TABLE DSLOP ADD CONSTRAINT Kt_Dslop CHECK (Siso >= 50);
19
1. Ngoân ngöõ moâ taû döõ lieäu9.Leänh Taïo raøng buoäc duy nhaátALTER TABLE <teân baûng> ADD CONSTRAINT <teân raøng buoäc>UNIQUE (DS Teân coät);
Löu yù:-Teân raøng buoäc laø duy nhaát
20
1. Ngoân ngöõ moâ taû döõ lieäu9.Leänh Taïo raøng buoäc duy nhaát – Ví
duïTeân moân hoïc khoâng ñöôïc truøng nhau:
ALTER TABLE MONHOC ADD CONSTRAINT Dn_MhUNIQUE (TenMH);
21
1. Ngoân ngöõ moâ taû döõ lieäu10.Leänh Taïo chæ muïcCREATE INDEX <teân Index>ON <teân baûng> (<coät 1>, <coät 2>, ...) ;
Ngöõ nghóa: Taïo chæ muïc ñeå löu thöù töï saép xeáp caùc baûn ghi theo giaù trò taêng daàn cuûa caùc coät ñöôïc cho trong danh saùch.
Ghi chuù: Chæ neân taïo chæ muïc cho caùc baûng coù nhieàu baûn ghi vaø ít ñöôïc caäp nhaät, vaø chæ neân taïo treân caùc coät maø thoâng tin cuûa noù thöôøng xuyeân ñöôïc tham khaûo tôùi.
22
1. Ngoân ngöõ moâ taû döõ lieäu10.Leänh Taïo chæ muïc – Ví duï:CREATE INDEX Cm_sv1ON SINHVIEN (Ten);
CREATE INDEX Cm_mh1ON MONHOC (TenMH);
23
1. Ngoân ngöõ moâ taû döõ lieäu11.Leänh Xoùa chæ muïcDROP INDEX <teân Index> ;
Ví duï:DROP INDEX Cm_sv1
DROP INDEX Cm_mh1
24
2. Ngoân ngöõ thao taùc döõ lieäu1. Leänh Theâm maãu tin
2. Leänh Xoùa maãu tin3. Leänh caäp nhaät maãu tin
25
2. Ngoân ngöõ thao taùc döõ lieäu1.Leänh theâm maãu tin (1)INSERT INTO <teân baûng> (<teân coät
1>, ...)VALUES (<bieåu thöùc 1>, <bieåu thöùc
2>, ...);
Löu yù:
-Kieåu döõ lieäu-Chieàu daøi-Caùc raøng buoäc toaøn veïn: khoùa chính,
khoùa ngoaïi, kieåm tra, duy nhaát
26
2. Ngoân ngöõ thao taùc döõ lieäu1.Leänh theâm maãu tin (1) – Ví duï
Theâm 1 Sinh vieân môùi:
INSERT INTO SINHVIEN (MSSV, HOLOT, TEN, PHAI, NGAYSINH, QUEQUAN, DIACHI, MALOP)
VALUES (‘T005’,’LE TIEN’,’DUNG’,1,’3/18/84’, ’DONGNAI’,’77/8 LE LOI – Q1’,’T2N’);
Theâm 1 Moân hoïc môùi:INSERT INTO MONHOC (MAMH, TENMH, SOTC)VALUES (‘CSDL’,’CO SO DU LIEU’,4);
27
2. Ngoân ngöõ thao taùc döõ lieäu1.Leänh theâm maãu tin (2)Neáu caùc bieåu thöùc sau töø khoaù VALUES
hoaøn toaøn phuø hôïp veà thöù töï vôùi caùc coät trong baûng danh saùch caùc coät sau töø khoùa INTO coù theå ñöôïc boû qua
INSERT INTO <teân baûng>VALUES (<bieåu thöùc 1>, <bieåu thöùc
2>, ...);
28
2. Ngoân ngöõ thao taùc döõ lieäu1.Leänh theâm maãu tin (2) – Ví duï
Theâm 1 Sinh vieân môùi: INSERT INTO SINHVIEN
VALUES (‘T005’,’LE TIEN’,’DUNG’,1,’3/18/84’, ’DONGNAI’,’77/8 LE LOI – Q1’,’T2N’);
Theâm 1 Moân hoïc môùi:INSERT INTO MONHOC
VALUES (‘CSDL’,’CO SO DU LIEU’,4);
29
2. Ngoân ngöõ thao taùc döõ lieäu1.Leänh theâm maãu tin (3)
Ngoaøi ra ta coù theå theâm (caùc) maãu tin vaøo baûng töø caâu leänh truy vaán (Select)
INSERT INTO <teân baûng> (<teân coät 1>, ...)
<Caâu leänh Select>hoaëcINSERT INTO <teân baûng><Caâu leänh Select>
30
2. Ngoân ngöõ thao taùc döõ lieäu1.Leänh theâm maãu tin (3) – Ví duï
Theâm Sinh vieân môùi töø 1 danh saùch:
INSERT INTO SINHVIEN SELECT * FROM DSSV_NEW ;
Löu yù:-DSSV_New coù cuøng caáu truùc vôùi
SINHVIEN
31
2. Ngoân ngöõ thao taùc döõ lieäu2.Leänh Xoùa maãu tin Vieäc loaïi boû maãu tin khoûi 1 baûng trong
CSDL laø 1 trong nhöõng thao taùc caäp nhaät döõ lieäu ñöôïc tieán haønh moät caùch thöôøng xuyeân
Cuù phaùp:
DELETE FROM <teân baûng>[WHERE <ñieàu kieän>];
Ngöõ nghóa: Caùc maãu tin thoaû maõn ñieàu kieän sau WHERE seõ bò xoaù khoûi baûng. Neáu khoâng coù meänh ñeà WHERE thì taát caû caùc maãu tin cuûa baûng seõ bò xoùa khoûi baûng.
32
2. Ngoân ngöõ thao taùc döõ lieäu2.Leänh Xoùa maãu tin – Ví duï:Xoùa Sinh vieân coù Maõ soá laø T005
DELETE FROM SINHVIENWHERE MSSV=‘T005’;
Xoùa taát caû caùc moân hoïc coù 5 tín chæ
DELETE FROM MONHOCWHERE SOTC = 5;
33
2. Ngoân ngöõ thao taùc döõ lieäu3.Leänh caäp nhaät maãu tin
Cuù phaùpUPDATE <teân baûng>
SET <teân coät 1> = <bieåu thöùc 1>, <teân coät 2> = <bieåu thöùc 2>, ...<teân coät n> = <bieåu thöùc n>
[WHERE <ñieàu kieän>];
34
2. Ngoân ngöõ thao taùc döõ lieäu3.Leänh caäp nhaät maãu tin
Ngöõ nghóa: Giaù trò cuûa caùc field coù teân trong danh saùch <teân coät 1>, <teân coät 2> ... cuûa nhöõng maãu tin thoaû maõn ñieàu kieän sau WHERE seõ ñöôïc söûa ñoåi thaønh giaù trò cuûa caùc <bieåu thöùc 1>, <bieåu thöùc 2> ... töông öùng.
Neáu khoâng coù meänh ñeà WHERE thì taát caû caùc maãu tin cuûa baûng seõ ñöôïc söûa ñoåi.
35
2. Ngoân ngöõ thao taùc döõ lieäu3.Leänh caäp nhaät maãu tinVí duï:Taêng cho taát caû sinh vieân 1 ñieåm moân
THCBUPDATE KETQUA
SET DIEM = DIEM +1 WHERE MAMH = ‘THCB’;
Caäp nhaät só soá lôùp T2N thaønh 90UPDATE DSLOP
SET SISO = 90 WHERE MALOP = ‘T2N’;
36
3. Ngoân ngöõ truy vaán döõ lieäu1. Cuù phaùp toång quaùt
2. Daïng ñôn giaûn3. Daáu *4. Meänh ñeà WHERE5. Meänh ñeà ORDER BY6. Meänh ñeà GROUP BY7. Meänh ñeà HAVING8. Phaùt bieåu Select vôùi AS9. Phaùt bieåu Select vôùi TOP N10. Phaùt bieåu Select vôùi DISTINCT11. Truy vaán töø nhieàu Baûng12. Truy vaán con
37
3. Ngoân ngöõ truy vaán döõ lieäu1.Cuù phaùp toång quaùt
SELECT <Danh saùch caùc coät>FROM <Danh saùch Baûng>WHERE <Caùc ñieàu kieän>GROUP BY <Teân coät>HAVING <Ñieàu kieän döïa treân GROUP BY>ORDER BY <Danh saùch coät>
38
3. Ngoân ngöõ truy vaán döõ lieäu2.Daïng ñôn giaûnSELECT <Danh saùch caùc coät>
FROM <Teân Baûng> Trích ra moät soá coät trong 1 Baûng naøo
ñoù
Ví duï: Laáy ra MAMH, TENMH töø baûng MONHOC
SELECT MAMH, TENMHFROM MONHOC;
39
3. Ngoân ngöõ truy vaán döõ lieäu3.Daáu *Daáu * ñaïi dieän cho taát caû caùc coät
SELECT *FROM <Teân Baûng>
Ví duï: Laáy ra danh saùch caùc moân hoïc
SELECT *FROM MONHOC;
40
3. Ngoân ngöõ truy vaán döõ lieäu4.Meänh ñeà WHEREDuøng ñeå ñaët ñieàu kieän trích döõ lieäu
SELECT <Danh saùch caùc coät>FROM <Teân Baûng>WHERE <Danh saùch ñieàu kieän>
Ví duï: Laáy ra MSSV, HOTEN cuûa Sinh vieân queâ quaùn ‘HA NOI’
SELECT MSSV, HOLOT, TENFROM SINHVIENWHERE QUEQUAN = ‘HA NOI’;
41
3. Ngoân ngöõ truy vaán döõ lieäu4.Meänh ñeà WHERECaùc pheùp toaùn trong meänh ñeà WHERE-So saùnh: >, <. >=, <=, =, <>-Logic: And, Or, NotVí duï: Laáy ra MSSV, HOTEN cuûa Sinh vieân lôùp
T2N queâ quaùn ‘HA NOI’
SELECT MSSV, HOLOT, TENFROM SINHVIENWHERE QUEQUAN = ‘HA NOI’ AND MALOP=
‘T2N’;
42
3. Ngoân ngöõ truy vaán döõ lieäu4.Meänh ñeà WHEREToaùn töû Between: naèm trong 1 mieàn
Ví duï: Trích ra danh saùch Sinh vieân sinh naêm 1982
SELECT *FROM SINHVIENWHERE NGAYSINH Between ‘1/1/1982’ And
’12/31/1982’;
43
3. Ngoân ngöõ truy vaán döõ lieäu4.Meänh ñeà WHEREToaùn töû LIKE: pheùp toaùn so saùnh gaàn
gioáng, söû duïng daáu caùc kyù töï ñaïi dieän nhö _ (1 kyù töï), % (1 chuoãi baát kyø)
Ví duï: Trích ra danh saùch Sinh vieân Hoï ‘Phan’
SELECT *FROM SINHVIENWHERE HOLOT LIKE ‘Phan%’;
44
3. Ngoân ngöõ truy vaán döõ lieäu4.Meänh ñeà WHERE
Toaùn töû IN: pheùp toaùn so saùnh trong 1 taäp hôïp, 1 danh saùch
Ví duï: Trích ra danh saùch Sinh vieân queâ quaùn ôû caùc tænh ‘Caàn Thô’, ‘An Giang’, ‘Kieân Giang’
SELECT *FROM SINHVIENWHERE QUEQUAN IN (‘Caàn Thô’, ‘An
Giang’, ‘Kieân Giang’);
45
3. Ngoân ngöõ truy vaán döõ lieäu4.Meänh ñeà WHEREIS NULL ( IS NOT NULL ): kieåm tra 1 giaù
trò coù roãng hay khoâng (keát quaû: TRUE – FALSE)
Ví duï: Trích ra danh saùch Sinh vieân chöa coù ñòa chæ
SELECT *FROM SINHVIENWHERE DIACHI IS NULL;
46
3. Ngoân ngöõ truy vaán döõ lieäu4.Meänh ñeà WHEREToaùn töû Exists: traû veà TRUE neáu coù ít
nhaát 1 maãu tin toàn taïiVí duï: Cho bieát coù sinh vieân naøo Queâ
quaùn ‘Nha Trang’ khoâng?If Exists (SELECT *FROM SINHVIENWHERE QUEQUAN = ‘Nha Trang’)Print ‘Co sinh vien’;
47
3. Ngoân ngöõ truy vaán döõ lieäu5.Meänh ñeà ORDER BYSaép xeáp keát quaû theo thöù töï mong
muoán
ORDER BY <DS Teân coät> [ASC | DESC]Ví duï: Trích ra danh saùch sinh vieân nöõ,
saép theo teân taêng daàn?SELECT MSSV, HOLOT, TEN, MALOPFROM SINHVIENWHERE PHAI= 0ORDER BY TEN ASC
48
3. Ngoân ngöõ truy vaán döõ lieäu6.Meänh ñeà GROUP BYNhoùm döõ lieäu laïi theo töøng nhoùm
ñeå thöïc hieän caùc pheùp toaùn thoáng keâ
GROUP BY <DS Teân coät>
Ví duï: Cho bieát soá löôïng sinh vieân töøng lôùp
SELECT MALOP, COUNT(*) AS SOSVFROM SINHVIENGROUP BY MALOP
49
3. Ngoân ngöõ truy vaán döõ lieäu6.Meänh ñeà GROUP BYMoät soá Haøm thoâng duïng:
-AVG: giaù trò trung bình-MIN: giaù trò nhoû nhaát-MAX: giaù trò lôùn nhaát-COUNT: ñeám soá phaàn töû-SUM : Toång caùc phaàn töû
50
3. Ngoân ngöõ truy vaán döõ lieäu7.Meänh ñeà HAVINGÑaët ñieàu kieän choïn sau khi ñaõ nhoùm
döõ lieäu baèng meänh ñeà GROUP BYVí duï: Trích ra Danh saùch caùc lôùp coù
treân 20 sinh vieân
SELECT MALOP, COUNT(*) AS SOSVFROM SINHVIENGROUP BY MALOP HAVING COUNT(*) > 20 ;
51
3. Ngoân ngöõ truy vaán döõ lieäu8.Phaùt bieåu Select vôùi ASÑaët laïi teân Field khi hieån thò keát quaûVí duï: Trích ra Danh saùch caùc lôùp coù
treân 20 sinh vieân
SELECT MALOP AS ML, COUNT(*) AS SOSVFROM SINHVIENGROUP BY MALOP HAVING COUNT(*) > 20 ;
52
3. Ngoân ngöõ truy vaán döõ lieäu9.Phaùt bieåu Select vôùi TOP NCho pheùp laáy ra chæ moät soá maãu tin
naøo ñoù theo 1 tieâu chuaån naøo ñoù.
Ví duï: Trích ra Danh saùch 10 sinh vieân ñaàu tieân.
SELECT TOP 10 *FROM SINHVIEN;
53
3. Ngoân ngöõ truy vaán döõ lieäu10.Phaùt bieåu Select vôùi DISTINCTNeáu keát quaû truy vaán coù nhieàu maãu
tin truøng nhau, ñeå chæ laáy 1 maãu tin ta duøng DISTINCT
Ví duï: Trong Danh saùch Sinh vieân, cho bieát coù nhöõng lôùp naøo
SELECT DISTINCT MALOPFROM SINHVIEN;
54
3. Ngoân ngöõ truy vaán döõ lieäu11.Truy vaán töø nhieàu baûngKhi thoâng tin caàn laáy ra coù töø nhieàu
baûng khaùc nhau, caàn thöïc hieän truy vaán töø nhieàu baûng
SELECT <Danh saùch caùc coät>FROM <Danh saùch caùc Baûng>WHERE <Caùc ñieàu kieän>
55
3. Ngoân ngöõ truy vaán döõ lieäu11.Truy vaán töø nhieàu baûng
Löu yù: Caàn keát caùc baûng laïi vôùi nhau. Vôùi
n baûng caàn coù n-1 ñieàu kieän keát. Caùc teân coät cuøng coù ôû nhieàu
baûng caàn ghi roõ theo daïng [Teân Baûng].[Teân coät]
56
3. Ngoân ngöõ truy vaán döõ lieäu11.Truy vaán töø nhieàu baûng
Ví duï: Trích ra MSSV, HOTEN, MALOP,TENLOP cuûa nhöõng sinh vieân teân ‘NAM’
SELECT MSSV, HOLOT, TEN, DSLOP.MALOP, TENLOPFROM SINHVIEN, DSLOPWHERE SINHVIEN.MALOP = DSLOP.MALOP
AND TEN=‘NAM’;
57
3. Ngoân ngöõ truy vaán döõ lieäu11.Truy vaán töø nhieàu baûng-Coù theå söû duïng teân taét cuûa caùc Baûng
Ví duï: Trích ra MSSV, HOTEN, MALOP, TENLOP cuûa nhöõng sinh vieân khoa CNTT
SELECT MSSV, HOLOT, TEN, L.MALOP, TENLOPFROM SINHVIEN S, DSLOP L, DSKHOA KWHERE S.MALOP = L.MALOP
AND L.MAKHOA = K.MAKHOAAND TENKHOA=‘Cong nghe thong tin’;
58
3. Ngoân ngöõ truy vaán döõ lieäu12.Truy vaán con-Ñoâi khi ta caàn söû duïng keát quaû cuûa 1
caâu truy vaán ñeå laøm ñieàu kieän cho 1 caâu truy vaán khaùc, khi ñoù ta goïi laø truy vaán con.
-Khi thöïc hieän, truy vaán con seõ ñöôïc thöïc hieän tröôùc, roài laáy keát quaû ñeå thöïc hieän truy vaán lôùn
59
3. Ngoân ngöõ truy vaán döõ lieäu12.Truy vaán conDaïng toång quaùt:
SELECT <Danh saùch caùc coät>FROM <Danh saùch Baûng>WHERE <Caùc ñieàu kieän>… < Teân coät > IN ( NOT IN, =, <>, …)
( SELECT <Danh saùch caùc coät>FROM <Danh saùch Baûng>WHERE <Caùc ñieàu kieän>)
60
3. Ngoân ngöõ truy vaán döõ lieäu12.Truy vaán conVí duï: Trích ra DS nhöõng SV coù ñieåm
moân THVP cao nhaát
SELECT S.MSSV,HOLOT,TEN,MAMH,DIEMFROM SINHVIEN S, KETQUA KWHERE S.MSSV = K.MSSV
AND MAMH=‘THVP’AND DIEM = ( SELECT MAX(DIEM)
FROM KETQUAWHERE MAMH=‘THVP’)
61
From --> Where --> Group By --> Having --> Select --> Order
top related