You are on page 1of 17

Traàn Ngoïc Tuaán

Có PH¸P CñA STRUCTURE QUERY LANGUAGE


1. SELECT statement (HiÓn thÞ d÷ liÖu)
SELECT [predicate] { * | table.* | [table.]field1 [, [table.]field2.[, ...]]}
[AS alias1 [, alias2 [, ...]]]
FROM tableexpression [, ...] [IN externaldatabase]
[WHERE criteria ]
[GROUP BY groupfieldlist ]
[ORDER BY field2 [ASC|DESC], field1 [ASC|DESC],... ]
2. SELECT … INTO statement (T¹o Table míi)
SELECT field1[, field2[, ...]] INTO newtable [IN externaldatabase]
[WHERE criteria ]
FROM source
3. SELECT statement with PARAMETERS (NhËp tham sè lóc ch¹y)
PARAMETERS parameter1 datatype [,parameter2 datatype] [,…];
SELECT statement

TRONG §ã
predicate Mét trong c¸c vÞ tõ: ALL, DISTINCT, DISTINCTROW, or TOP.
Dïng víi môc ®Ých h¹n chÕ sè record ®îc select.

table Tªn cña table.

field1, field2 Tªn cña c¸c field.

alias1, alias2 Tªn cña cét data trong b¶ng hiÓn thÞ kÕt qu¶.

tableexpression Tªn table hoÆc c¸c table.

externaldatabase Tªn cña database nÕu kh«ng ph¶i database hiÖn hµnh.

criteria BiÓu thøc logic, lµm tiªu chuÈn tuyÓn lùa.

groupfieldlist Tªn cña c¸c field (tèi ®a 10) ®Ó group, theo thø tù ®ã.

newtable Tªn table míi.

source tªn table gèc.

1
Traàn Ngoïc Tuaán

BµI TËP
ViÕt c¸c Query (dïng SQL) ®Ó cho c¸c kÕt qu¶:
1. DANH S¸CH HäC SINH NH¦ VèN Cã TRONG TABLE DSSH.
2. DANH S¸CH C¸C M¤N HäC NH¦ TRONG TABLE MONHOC.
3. DSHS CHØ GåM 2 FIELD HO, TEN.
4. DSHS CHØ GåM 1 FIELD [HO VA TEN] (GHÐP HO VíI 1 KHO¶NG TR¾NG,
VíI TEN).
5. DSHS GåM FIELD [HO VA TEN], Vµ FIELD [LOP].
6. DANH S¸CH C¸C LíP (Cã HäC SINH HäC).
7. TæNG Sè HäC SINH LíP 12A .
8. TæNG Sè HäC SINH LíP 12A vµ LíP 12B.
9. §IÓM TRUNG B×NH TõNG M¤N HäC = (HK1+HK2)/2, CñA TõNG HäC
SINH.
10. TæNG Sè M¤N HäC, HÖ Sè TRUNG B×NH CñA C¸C M¤N HäC, HÖ Sè CAO
NHÊT TRONG C¸C M¤N, HÖ Sè THÊP NHÊT TRONG C¸C M¤N.
11. §IÓM TRUNG B×NH HK1=TæNG(§IÓM C¸C M¤N HK1*HÖ Sè)/TæNG HÖ
Sè §IÓM TRUNG B×NH HK1=TæNG(§IÓM C¸C M¤N HK2*HÖ Sè)/TæNG
HÖ Sè
§IÓM TRUNG B×NH C¶ N¡M=(DTBHK1+DTBHK2*2)/3
12. T¹O RA MéT B¶NG MíI Cã T£N DSLOP12A, GåM C¸C FIELD: MAHS, Hä Vµ
T£N, LÊY Tõ B¶NG DSHS, CHØ GåM C¸C HäC SINH LíP 12A.
13. T¹O RA MéT B¶NG MíI Cã T£N DIEMTONGKET, GåM C¸C FIELD: MAHS,
Hä Vµ T£N, DTB C¶ N¡M.
14. DANH S¸CH HäC SINH GåM Hä Vµ T£N, DTB C¶ N¡M, VíI DTB C¶ N¡M >=
MéT THAM Sè NHËP Tõ BµN PHÝM.

2
Traàn Ngoïc Tuaán

CREATE TABLE Statement (T¹o table míi)


SYNTAX
CREATE TABLE table (field1 type [(size)] [NOT NULL] [index1] [, field2 type
[(size)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])

TRONG §ã
table Tªn table míi.
field1, field2 tªn c¸c field trong table míi.
type KiÓu d÷ liÖu cña field.
size KÝch thíc cña field (chØ cÇn cho kiÓu Text vµ kiÓu
Binary).
index1, index2 MÖnh ®Ò CONSTRAINT ®Ó t¹o index trªn field.
multifieldindex MÖnh ®Ò CONSTRAINT ®Ó t¹o index trªn nhiÒu field.

CONSTRAINT Clause
SYNTAX
Single-field constraint:
CONSTRAINT name {PRIMARY KEY | UNIQUE | NOT NULL | REFERENCES
foreigntable [(foreignfield1, foreignfield2)]}
SYNTAX
Multiple-field constraint:
CONSTRAINT name {PRIMARY KEY (primary1[, primary2 [, ...]]) |
UNIQUE (unique1[, unique2 [, ...]]) | NOT NULL (notnull1[, notnull2
[, ...]])|
FOREIGN KEY (ref1[, ref2 [, ...]])
REFERENCES foreigntable [(foreignfield1 [, foreignfield2 [, ...]])]}

TRONG §ã
Name Tªn cña constraint.
primary1, primary2 Tªn c¸c field dïng lµm khãa chÝnh.
unique1, unique2 Tªn c¸c field buéc data nhËp ph¶i duy nhÊt.
notnull1, notnull2 Tªn c¸c field buéc ph¶i nhËp data.
ref1, ref2 Tªn cña c¸c foreign key.
foreigntable Tªn cña table ®Ó c¸c foreign tham chiÕu.
foreignfield1, foreignfield2 Tªn c¸c field trong foreign table tham chiÕu bëi c¸c
foreign key.

4. INSERT … INTO statement


SYNTAX 1
Append 1 record vµo table :
INSERT INTO target [(field1[, field2[, ...]])]
VALUES (value1[, value2[, ...])

3
Traàn Ngoïc Tuaán
SYNTAX 2
Append nhiÒu record vµo table, chän ra tõ table kh¸c :
INSERT INTO target [IN externaldatabase]
SELECT [source.]field1[, field2[, ...]
FROM tableexpression
[WHERE criteria ]

TRONG §ã
target Tªn table ®îc thªm record.
externaldatabase Tªn cña database nÕu kh«ng ph¶i database hiÖn hµnh.
source Tªn cña table ®Ó chän ra c¸c record.
field1, field2 Tªn c¸c field sÏ ®îc thªm data.
tableexpression Tªn table hoÆc c¸c table.
value1, value2 C¸c trÞ data ®îc thªm vµo record míi.
criteria BiÓu thøc logic, lµm tiªu chuÈn tuyÓn lùa.
5. UPDATE statement
SYNTAX
UPDATE table
SET newvalue
WHERE criteria;

TRONG §ã
table Tªn table cÇn update.
newvalue C¸c biÓu thøc x¸c ®Þnh d÷ liÖu t¹i c¸c field cña record cÇn
update.
criteria BiÓu thøc logic x¸c ®Þnh c¸c record ®îc update.
6. DELETE statement
SYNTAX
DELETE
FROM table
WHERE criteria

TRONG §ã
table Tªn table chøa c¸c record cÇn xãa.
criteriaBiÓu thøc logic x¸c ®Þnh c¸c record cÇn xãa.
BµI TËP
15. T¹O MíI TABLE MONHOCMOI Cã CÊU TRóC GIèNG NH¦ TABLE
MONHOC.
16. TH£M C¸C RECORD VµO TABLE MONHOCMOI:
16 SINH10
17 SINH11
18 SINH12
17. TH£M C¸C HäC SINH MíI VµO TABLE LOP12A:
MAHS LíN NHÊT+1 TRAN VAN TEO
4
Traàn Ngoïc Tuaán
MAHS LíN NHÊT+1 MAI SONG BE
MAHS LíN NHÊT+1 VO DONG NAI
MAHS LíN NHÊT+1 HO TRI AN
MAHS LíN NHÊT+1 HA THI NOI
18. APPEND TÊT C¶ C¸C RECORD Tõ TABLE MONHOCMOI VµO TABLE
MONHOC
19. APPEND C¸C HäC SINH MíI TRONG TABLE LOP12A VµO TABLE DSHS,
§åNG THêI CËP NHËT FIELD LOP TRONG TABLE DSHS CñA C¸C
RECORD MíI TH£M VíI D÷ LIÖU “12A” (MéT STATEMENT).
20. CËP NHËT TRONG TABLE MONHOC, CHO HÖ Sè C¸C M¤N HäC MíI
B»NG 1.
21. CËP NHËT TRONG TABLE MONHOC, CHO HÖ Sè TÊT C¶ C¸C M¤N HäC
CñA LíP 12 §ÒU T¡NG L£N 1.
22. XãA TÊT C¶ C¸C RECORD TRONG TABLE MONHOCMOI.

5
Traàn Ngoïc Tuaán

C¸C Có PH¸P §ÞNH NGHÜA D÷ LIÖU


(DATA DEFINITION LANGUAGE)
1. CREATE TABLE Statement (T¹o table míi)
SYNTAX
CREATE TABLE table (field1 type [(size)] [NOT NULL] [index1] [, field2 type
[(size)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])

TRONG §ã
table Tªn table míi.
field1, field2 tªn c¸c field trong table míi.
type KiÓu d÷ liÖu cña field.
size KÝch thíc cña field (chØ cÇn cho kiÓu Text vµ kiÓu
Binary).
index1, index2 MÖnh ®Ò CONSTRAINT ®Ó t¹o index trªn field.
multifieldindex MÖnh ®Ò CONSTRAINT ®Ó t¹o index trªn nhiÒu field.

2. CONSTRAINT Clause
SYNTAX
Single-field constraint:
CONSTRAINT name {PRIMARY KEY | UNIQUE | NOT NULL | REFERENCES
foreigntable [(foreignfield1, foreignfield2)]}
SYNTAX
Multiple-field constraint:
CONSTRAINT name {PRIMARY KEY (primary1[, primary2 [, ...]]) |
UNIQUE (unique1[, unique2 [, ...]]) | NOT NULL (notnull1[, notnull2
[, ...]])|
FOREIGN KEY (ref1[, ref2 [, ...]])
REFERENCES foreigntable [(foreignfield1 [, foreignfield2 [, ...]])]}

TRONG §ã
Name Tªn cña constraint.
primary1, primary2 Tªn c¸c field dïng lµm khãa chÝnh.
unique1, unique2 Tªn c¸c field buéc data nhËp ph¶i duy nhÊt.
notnull1, notnull2 Tªn c¸c field buéc ph¶i nhËp data.
ref1, ref2 Tªn cña c¸c foreign key.
foreigntable Tªn cña table ®Ó c¸c foreign tham chiÕu.
foreignfield1, foreignfield2 Tªn c¸c field trong foreign table
tham chiÕu bëi c¸c foreign key.

3. CREATE INDEX Statement (T¹o thªm INDEX trªn mét table)


SYNTAX

6
Traàn Ngoïc Tuaán
CREATE [ UNIQUE ] INDEX index
ON table (field [ASC|DESC][, field [ASC|DESC], ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]

TRONG §ã
index Tªn index.
table Tªn table.
field Tªn field, mÆc nhiªn index theo ASC.

4. ALTER TABLE statement (§iÒu chØnh cÊu tróc cña table)


SYNTAX
ALTER TABLE table {ADD {COLUMN field type[(size)] [NOT NULL]
[CONSTRAINT index] | CONSTRAINT multifieldindex} |
DROP {COLUMN field | CONSTRAINT indexname} }

TRONG §ã
table Tªn table.
field Tªn field.
type KiÓu d÷ liÖu.
size KÝch thíc field tÝnh b»ng sè ký tù (cho kiÓu Text vµ Binary).
index MÖnh ®Ò CONSTRAINT ®Ó t¹o index cho field.
multifieldindex MÖnh ®Ò CONSTRAINT ®Ó t¹o index trªn nhiÒu field.
indexname tªn index.

5. DROP Statement (Xãa table hoÆc xãa index trªn table)


SYNTAX
DROP {TABLE table | INDEX index ON table}

TRONG §ã
table tªn table
index tªn index

Bµi tËp:
23. T¹o míi c¸c table DSVATTU, CTNHAP, CTXUAT, VATTUNHAP,
VATTUXUAT cã cÊu tróc vµ c¸c mèi liªn kÕt (relationships) nh trong s¬ ®å sau
(sö dông SQL):

7
Traàn Ngoïc Tuaán

24. Thªm vµo table VATTUXUAT mét field DONGIA(currency).


25. T¹o c¸c index trªn field NGAY trong c¸c table CTNHAP vµ CTXUAT, thø tù
DESC.
26. NhËp d÷ liÖu cho c¸c table theo d÷ liÖu mÉu díi ®©y (dïng SQL):

Danh s¸ch VËt T Chøng tõ NhËp


SOCTN NGAY
mavt tenvt xuatxu
DONG01 §åNG THáI §µI LOAN N01 01/01/96
DONG02 §åNG VôN VIÖT NAM N02 02/02/96
NHOM01 NH¤M CøNG Mü N03 10/02/96
NHOM02 NH¤M CøNG NHËT N04 10/02/96
NHOM03 NH¤M MÒM Mü N05 10/03/96
NHOM04 NH¤M T¸I SINH VIÖT NAM N06 10/03/96
N07 10/04/96
N08 12/04/96
N09 09/05/96

NGAY SOCTN MAVT SOLUONG DONGIA Chøng tõ XuÊt


01/01/96 N01 DONG01 100 $15.00
SOCTX NGAY
01/01/96 N01 DONG02 200 $7.00
X01 04/05/96
01/01/96 N01 NHOM01 150 $9.50
X02 12/05/96
01/01/96 N01 NHOM02 20 $10.00
X03 10/06/96
02/02/96 N02 NHOM01 200 $11.00
X04 11/07/96
02/02/96 N02 NHOM02 100 $12.00
02/02/96 N02 NHOM04 200 $5.00
10/02/96 N03 NHOM02 140 $13.00
10/02/96 N03 NHOM03 200 $12.00
VËt 10/02/96
t NhËpN03 NHOM04 100 $6.00 VËt t XuÊt
10/02/96 N04 DONG01 100 $15.00
10/02/96 N04 DONG02 200 $3.00 SOCTX MAVT SOLUONG
10/03/96 N05 DONG01 100 $16.00 X01 NHOM01 20
10/03/96 N05 DONG02 200 $4.00 X01 NHOM02 30
10/03/96 N06 NHOM01 25 $10.00 X01 NHOM03 15
10/03/96 N06 NHOM04 20 $7.00 X02 NHOM03 31
10/04/96 N07 NHOM02 100 $20.00 X02 DONG01 27
10/04/96 N07 NHOM03 200 $18.00 X02 DONG02 29
10/04/96 N07 NHOM04 300 $9.00 X03 NHOM04 23
12/04/96 N08 DONG01 200 $17.00 X03 NHOM01 12
12/04/96 N08 DONG02 120 $6.00 X04 NHOM02 34
09/05/96 N09 NHOM01 123 $11.00 X04 NHOM04 23
X04 DONG01 8
12
09/05/96 N09 NHOM02 214 $14.00
X04 DONG02 24
Traàn Ngoïc Tuaán

27. CËp nhËt vµo table VATTUXUAT: ®¬n gi¸ = trung b×nh ®¬n gi¸ nhËp + 5%.

9
Traàn Ngoïc Tuaán

7. UNION Statement (Ph¸t biÓu hîp d÷ liÖu - thuéc lo¹i DML)


SYNTAX
[TABLE] query1 UNION [ALL] [TABLE] query2 [UNION [ALL] [TABLE] queryn
[ ... ]]

TRONG §ã
query1-n cã thÓ lµ ph¸t biÓu SELECT, hoÆc lµ tªn cña mét query ®îc save, hoÆc tªn
mét table (nÕu lµ tªn table th× ph¶i cã tõ khãa TABLE phÝa tríc).

KÕt qu¶ cña mét ph¸t biÓu UNION lµ mét recordset = hîp cña c¸c recordset cho bëi
query1, … queryn.

Chó ý C¸c recordset thµnh phÇn ph¶i cïng cÊu tróc d÷ liÖu (cïng sè field, cïng kiÓu
data cña field, nhng kh«ng nhÊt thiÕt ph¶i cïng size)

Nãi chung UNION statement sÏ lo¹i bá c¸c record trïng lÆp, dïng ALL ®Ó gi÷
l¹i c¸c record trïng.

10
Traàn Ngoïc Tuaán

BµI TËP
Sö DôNG QUERY SELECT §Ó TR¶ LêI C¸C C¢U HáI SAU:

28. TÝNH TæNG Sè L¦îNG NHËP CñA C¸C LO¹I VËT T¦ (Cã NHËP).
TÝNH TæNG Sè L¦îNG XUÊT CñA C¸C LO¹I VËT T¦ (Cã XUÊT).
29. TÝNH TæNG Sè L¦îNG NHËP CñA MéT LO¹I VËT T¦ (CH¼NG H¹N “DONG
THOI”).
30. TÝNH TæNG Sè L¦îNG NHËP CñA MéT LO¹I VËT T¦ (CH¼NG H¹N “DONG
THOI”) TRONG MéT KHO¶NG THêI GIAN NµO §ã (CH¼NG H¹N Tõ TH¸NG
2 §ÕN TH¸NG 5 – DïNG …”MONTH(NGAY) BETWEEN 2 AND 5” HOÆC
…).
31. TÝNH TæNG Sè L¦îNG XUÊT CñA MéT LO¹I VËT T¦ (CH¼NG H¹N “DONG
THOI”).
32. TÝNH TæNG TRÞ GI¸ NHËP VËT T¦ CHO C¸C LO¹I VËT T¦ (Cã NHËP)
TÝNH TæNG TRÞ GI¸ XUÊT VËT T¦ CHO C¸C LO¹I VËT T¦ (Cã XUÊT).
33. TÝNH GI¸ NHËP B×NH QU¢N (TRUNG B×NH) CHO MéT LO¹I VËT T¦
(CH¼NG H¹N “DONG THOI”).
TÝNH GI¸ XUÊT B×NH QU¢N (TRUNG B×NH) CHO MéT LO¹I VËT T¦
(CH¼NG H¹N “DONG THOI”).
34. XãA BíT MéT LO¹I VËT T¦ TRONG TABLE VATTUXUAT (CH¼NG H¹N
“DONG THOI”).
35. TÝNH TåN KHO CñA MéT LO¹I VËT T¦ Cã NHËP Vµ Cã XUÊT (CH¼NG
H¹N “NHOM MEM”).
36. TÝNH TåN KHO CHO MéT LO¹I VËT T¦ Cã NHËP Vµ KH¤NG Cã XUÊT
(CH¼NG H¹N “DONG THOI”).
37. TÝNH TåN KHO TOµN Bé VËT T¦.
38. T¹O C¸C FORM D¹NG TABULAR CHO C¸C TABLE DSVATTU,
VATTUNHAP, VATTUXUAT.
39. T¹O C¸C FORM D¹NG COLUMN CHO C¸C TABLE CTUNHAP Vµ
CTUXUAT.
40. H×NH THµNH MAIN-SUB FORM THÓ HIÖN VIÖC XEM/NHËP/SöA MçI
CHøNG Tõ NHËP Cã NHIÒU MôC NHËP VËT T¦.
41. H×NH THµNH MAIN-SUB FORM THÓ HIÖN VIÖC XEM/NHËP/SöA MçI
CHøNG Tõ XUÊT Cã NHIÒU MôC XUÊT VËT T¦.
42. T¹O FORM D¹NG LABEL GåM C¸C MôC: M· VËT T¦, T£N VËT T¦, TåN KHO.
(Sö DôNG KÕT QU¶ CñA C¢U 37).

11
Traàn Ngoïc Tuaán

GI¶I BµI TËP


1. SELECT *
FROM DSHS;
2. SELECT *
FROM MONHOC;
3. SELECT [HO], [TEN]
FROM DSHS;
4. SELECT [HO] & ‘ ‘ & [TEN] AS [Ho Va Ten]
FROM DSHS;
5. SELECT [HO] & ‘ ‘ & [TEN] AS [HO VA TEN], [LOP]
FROM DSHS;
6. SELECT DISTINCT [LOP]
FROM DSHS;
7. SELECT Count(*) AS [Tong So Hoc Sinh]
FROM DSHS
WHERE [LOP]=’12A’;
8. SELECT Count(*) AS [Tong So Hoc Sinh]
FROM DSHS
WHERE [LOP]=’12A’ OR [LOP]=’12B’;
9. SELECT [DSHS].[TEN], [MONHOC].[TENMH], [DIEM].[HK1], [DIEM].[HK2], ([DIEM].
[HK1] + [DIEM].[HK2])/2 AS [DTB MonHoc]
FROM [DSHS], [MONHOC], [DIEM]
WHERE [DSHS].[MAHS]=[DIEM].[MAHS] AND [MONHOC].[MAMH]=[DIEM].[MAMH];
ORDER BY [TEN]
10. SELECT Count(*) AS [Tong so MH], Avg(HESO) AS [HESO Trung binh],
Max(HESO) AS [HESO Cao nhat], Min(HESO) AS [HESO Thap nhat]
FROM [MONHOC]
11. SELECT DIEM.MAHS,DSHS.HO & ' ' & DSHS.TEN AS [Ho Va Ten],
Sum([HK1]*[HESO])/Sum([HESO]) AS TBHK1,Sum([HK2]*[HESO])/Sum([HESO]) AS
TBHK2, (TBHK1+TBHK2*2)/3 AS [TB CA NAM]
FROM DSHS, DIEM,MONHOC
WHERE DSHS.MAHS=DIEM.MAHS AND MONHOC.MAMH=DIEM.MAMH
GROUP BY DIEM.MAHS, DSHS.HO & ' ' & DSHS.TEN ;
12. SELECT [MAHS], [HO] & ' ' & [TEN] AS hovaten INTO dslop12a
FROM DSHS
WHERE LOP='12A';
13. SELECT DIEM.MAHS,DSHS.HO & ' ' & DSHS.TEN AS [Ho Va Ten],
Sum([HK1]*[HESO])/Sum([HESO]) AS TBHK1,Sum([HK2]*[HESO])/Sum([HESO]) AS
TBHK2, (TBHK1+TBHK2*2)/3 AS [TB CA NAM] INTO DIEMTONGKET
FROM DSHS, DIEM,MONHOC
WHERE DSHS.MAHS=DIEM.MAHS AND MONHOC.MAMH=DIEM.MAMH
GROUP BY DIEM.MAHS, DSHS.HO & ' ' & DSHS.TEN ;
14. PARAMETERS [DIEM CHUAN:] SINGLE;
SELECT DIEMTONGKET.MAHS, DIEMTONGKET.[Ho Va Ten], DIEMTONGKET.[TB CA
NAM]
FROM DIEMTONGKET
WHERE DIEMTONGKET.[TB CA NAM]>=[DIEM CHUAN:];
15. CREATE TABLE MONHOCMOI (MAMH LONG CONSTRAINT KHOACHINH PRIMARY
KEY,TENMH TEXT(size));
12
Traàn Ngoïc Tuaán
16. INSERT INTO MONHOCMOI(MAMH,TENMH) VALUES (16,"SINH10");
INSERT INTO MONHOCMOI(MAMH,TENMH) VALUES (17,"SINH11");
INSERT INTO MONHOCMOI(MAMH,TENMH) VALUES (18,"SINH12");
17. INSERT INTO LOP12A(MAHS,HO,TEN) SELECT MAX(MAHS)+1,’TRAN VAN’,’TEO’
FROM DSHS;
INSERT INTO LOP12A(MAHS,HO,TEN) SELECT MAX(MAHS)+1,’MAI SONG’,’BE’
FROM DSHS;
INSERT INTO LOP12A(MAHS,HO,TEN) SELECT MAX(MAHS)+1,’VO DONG’,’NAI’
FROM DSHS;
INSERT INTO LOP12A(MAHS,HO,TEN) SELECT MAX(MAHS)+1,’HO TRI’,’AN’ FROM
DSHS;
INSERT INTO LOP12A(MAHS,HO,TEN) SELECT MAX(MAHS)+1,’HA THI’,’NOI’ FROM
DSHS;
18. INSERT INTO MONHOC(MAMH,TENMH) SELECT * FROM MONHOCMOI;
19. INSERT INTO DSHS(MAHS,HO,TEN,LOP) SELECT MAHS, HO, TEN, "12A" FROM
LOP12A WHERE MAHS NOT IN (SELECT MAHS FROM DSHS);
20. UPDATE MONHOC SET HESO=1 WHERE MAMH>15;
hoÆc UPDATE MONHOC SET HESO=1 WHERE TENMH LIKE ‘SINH*’;
21. UPDATE MONHOC SET HESO=HESO+1 WHERE TENMH LIKE ‘*12’;
22. DELETE FROM MONHOCMOI;

13
Traàn Ngoïc Tuaán
23. CREATE TABLE DSVATTU(MAVT TEXT(6) CONSTRAINT MAVT PRIMARY KEY,
TENVT TEXT(20), XUATXU TEXT(20));
CREATE TABLE CTNHAP(SOCTN TEXT(10) CONSTRAINT SOCTN PRIMARY KEY,
NGAY DATETIME);
CREATE TABLE CTXUAT(SOCTX TEXT(10) CONSTRAINT SOCTX PRIMARY KEY,
NGAY DATETIME);
CREATE TABLE VATTUNHAP(SOCTN TEXT(10) CONSTRAINT
REF_VTNHAP_CTNHAP REFERENCES CTNHAP(SOCTN), MAVT TEXT(6)
CONSTRAINT REF_VTNHAP_DSVATTU REFERENCES DSVATTU(MAVT), SOLUONG
SINGLE, DONGIA CURRENCY, CONSTRAINT KHOACHINH PRIMARY KEY
(SOCTN,MAVT) );
CREATE TABLE VATTUXUAT(SOCTX TEXT(10) CONSTRAINT
REF_VTXUAT_CTXUAT REFERENCES CTXUAT(SOCTX), MAVT TEXT(6)
CONSTRAINT REF_VTXUAT_DSVATTU REFERENCES DSVATTU(MAVT), SOLUONG
SINGLE, CONSTRAINT KHOACHINH PRIMARY KEY (SOCTX,MAVT) );
24. ALTER TABLE VATTUXUAT ADD COLUMN DONGIA CURRENCY;
25. CREATE INDEX INDEX_NGAYNHAP ON CTNHAP (NGAY DESC) ;
26. DïNG INSERT INTO …;
27. DïNG UPDATE …;

14
Traàn Ngoïc Tuaán
28. SELECT DSVATTU.TENVT ,SUM(VATTUNHAP.SOLUONG) AS TONGSLNHAP
FROM VATTUNHAP,DSVATTU
WHERE DSVATTU.MAVT=VATTUNHAP.MAVT
GROUP BY DSVATTU.TENVT;
29. SELECT DSVATTU.TENVT, SUM(VATTUNHAP.SOLUONG) AS TONGSLNHAP
FROM VATTUNHAP, DSVATTU
WHERE DSVATTU.MAVT=VATTUNHAP.MAVT AND VATTUNHAP.MAVT="DONG01"
GROUP BY DSVATTU.TENVT;
30. SELECT DSVATTU.TENVT, SUM(VATTUNHAP.SOLUONG) AS TONGSLNHAP
FROM VATTUNHAP, DSVATTU, CTNHAP
WHERE DSVATTU.MAVT=VATTUNHAP.MAVT AND VATTUNHAP.MAVT="DONG01"
AND VATTUNHAP.SOCTN=CTNHAP.SOCTN
AND MONTH(CTNHAP.NGAY) BETWEEN 2 AND 5
GROUP BY DSVATTU.TENVT;
31. SELECT DSVATTU.TENVT, SUM(VATTUXUAT.SOLUONG) AS TONGSLXUAT
FROM VATTUXUAT,DSVATTU
WHERE DSVATTU.MAVT=VATTUXUAT.MAVT AND
VATTUXUAT.MAVT="DONG01"
GROUP BY DSVATTU.TENVT;
32. SELECT MAVT, SUM(SOLUONG*DONGIA) AS TRIGIANHAP
FROM VATTUNHAP
GROUP BY MAVT;
SELECT MAVT, SUM(SOLUONG*DONGIA) AS TRIGIAXUAT
FROM VATTUXUAT
GROUP BY MAVT;
33. SELECT MAVT, SUM(SOLUONG*DONGIA)/SUM(SOLUONG) AS GIANHAPDONG01BQ
FROM VATTUNHAP
WHERE MAVT="DONG01"
GROUP BY MAVT;
SELECT MAVT, SUM(SOLUONG*DONGIA)/SUM(SOLUONG) AS GIAXUATDONG01BQ
FROM VATTUXUAT
WHERE MAVT="DONG01"
GROUP BY MAVT;
34. DELETE VATTUXUAT WHERE MAVT=’DONG01’ OR MAVT=’DONG02’;
35. SELECT TENVT, SUM(VATTUNHAP.SOLUONG)-(SELECT
SUM(VATTUXUAT.SOLUONG) FROM VATTUXUAT WHERE MAVT='DONG01') AS
TONKHODONG01
FROM DSVATTU, VATTUNHAP
WHERE VATTUNHAP.MAVT='DONG01' AND DSVATTU.MAVT=VATTUNHAP.MAVT
GROUP BY TENVT;
36. THAM KH¶O C¢U 37
37. SELECT DISTINCT VATTUNHAP.MAVT, SUM(VATTUNHAP.SOLUONG)-(SELECT
SUM(VATTUXUAT.SOLUONG) FROM VATTUXUAT WHERE
VATTUXUAT.MAVT=VATTUNHAP.MAVT)
FROM VATTUNHAP
WHERE VATTUNHAP.MAVT IN (SELECT DISTINCT MAVT FROM VATTUXUAT)
GROUP BY VATTUNHAP.MAVT
UNION
SELECT DISTINCT VATTUNHAP.MAVT, SUM(VATTUNHAP.SOLUONG) – 0
FROM VATTUNHAP

15
Traàn Ngoïc Tuaán
WHERE VATTUNHAP.MAVT NOT IN (SELECT DISTINCT MAVT FROM VATTUXUAT)
GROUP BY VATTUNHAP.MAVT

16
Traàn Ngoïc Tuaán

PHô LôC
C¸C B¶NG TRONG CSDL HäC SINH
Danh s¸ch häc sinh
mahs ho ten lop lop mahs ho ten mamh tenmh hk1 hk2
1 L£ V¡N Vò 10A 10A 1 L£ V¡N Vò 1 TO¸N 10 5 6
2 Vâ NGäC HïNG 10A 10A 1 L£ V¡N Vò 2 V¡N 10 4 7
10A 1 L£ V¡N Vò 3 VËT Lý 10 5 8
3 NGUYÔN THI BÐ 10B 10A 1 L£ V¡N Vò 4 HãA 10 4 5
4 TRÇN TRäNG T¢N 10B 10A 1 L£ V¡N Vò 5 ANH 10 6 7
5 PHAN V¡N KHANH 11A 10A 2 Vâ NGäC HïNG 1 TO¸N 10 6 9
6 BïI VIÕT LUYÕN 11A 10A 2 Vâ NGäC HïNG 2 V¡N 10 4 6
10A 2 Vâ NGäC HïNG 3 VËT Lý 10 5 7
7 Hå V¡N NH¢N 11A 10A 2 Vâ NGäC HïNG 4 HãA 10 5 3
8 Lý NAM ANH 12A 10A 2 Vâ NGäC HïNG 5 ANH 10 6 9
9 Vò NGäC PHAN 12A 10B 3 NGUYÔN THI BÐ 1 TO¸N 10 5 6
10 Hå V¡N HïNG 12A 10B 3 NGUYÔN THI BÐ 2 V¡N 10 6 5
10B 3 NGUYÔN THI BÐ 3 VËT Lý 10 4 2
10B 3 NGUYÔN THI BÐ 4 HãA 10 7 6
C¸c m«n häc 10B 3 NGUYÔN THI BÐ 5 ANH 10 7 5
10B 4 TRÇN TRäNG T¢N 1 TO¸N 10 8 5
mamh tenmh heso 10B 4 TRÇN TRäNG T¢N 2 V¡N 10 4 9
1 TO¸N 10 3 10B 4 TRÇN TRäNG T¢N 3 VËT Lý 10 7 6
2 V¡N 10 3 10B 4 TRÇN TRäNG T¢N 4 HãA 10 6 5
3 VËT Lý 10 1 10B 4 TRÇN TRäNG T¢N 5 ANH 10 6 8
11A 5 PHAN V¡N KHANH 10 ANH 11 6 5
4 HãA 10 1 11A 5 PHAN V¡N KHANH 6 TO¸N 11 6 8
5 ANH 10 2 11A 5 PHAN V¡N KHANH 7 V¡N 11 6 4
6 TO¸N 11 3 11A 5 PHAN V¡N KHANH 8 VËT Lý 11 8 7
7 V¡N 11 3 11A 5 PHAN V¡N KHANH 9 HãA 11 6 5
11A 6 BïI VIÕT LUYÕN 10 ANH 11 6 5
8 VËT Lý 11 2
11A 6 BïI VIÕT LUYÕN 6 TO¸N 11 7 3
9 HãA 11 1 11A 6 BïI VIÕT LUYÕN 7 V¡N 11 8 9
10 ANH 11 2 11A 6 BïI VIÕT LUYÕN 8 VËT Lý 11 9 8
11 TO¸N 12 4 11A 6 BïI VIÕT LUYÕN 9 HãA 11 3 7
12 V¡N 12 4 11A 7 Hå V¡N NH¢N 10 ANH 11 1 9
11A 7 Hå V¡N NH¢N 6 TO¸N 11 8 5
13 VËT Lý 12 2 11A 7 Hå V¡N NH¢N 7 V¡N 11 4 3
14 HãA 12 2 11A 7 Hå V¡N NH¢N 8 VËT Lý 11 9 5
15 ANH 12 3 11A 7 Hå V¡N NH¢N 9 HãA 11 7 5
12A 8 Lý NAM ANH 11 TO¸N 12 7 6
12A 8 Lý NAM ANH 12 V¡N 12 6 5
12A 8 Lý NAM ANH 13 VËT Lý 12 7 5
B¶ng ®iÓm  12A 8 Lý NAM ANH 14 HãA 12 9 4
12A 8 Lý NAM ANH 15 ANH 12 6 5
12A 9 Vò NGäC PHAN 11 TO¸N 12 9 6
12A 9 Vò NGäC PHAN 12 V¡N 12 5 2
12A 9 Vò NGäC PHAN 13 VËT Lý 12 8 5
12A 9 Vò NGäC PHAN 14 HãA 12 2 9
12A 9 Vò NGäC PHAN 15 ANH 12 6 8
12A 10 Hå V¡N HïNG 11 TO¸N 12 9 6
12A 10 Hå V¡N HïNG 12 V¡N 12 7 9
12A 10 Hå V¡N HïNG 13 VËT Lý 12 4 1
12A 10 Hå V¡N HïNG 14 HãA 12 7 5
12A 10 Hå V¡N HïNG 15 ANH 12 6 4

17

You might also like