VI. Cú pháp l(cid:1)nh SELECT c(cid:2)a SQL a)

L(cid:1)nh SELECT là thành ph(cid:2)n c(cid:3) b(cid:4)n c(cid:5)a ngôn ng(cid:6)(cid:7) (cid:8)(cid:3)(cid:7) (cid:9)(cid:10) d(cid:6) li(cid:1)u SQL.

b) L(cid:1)nh SELECT(cid:7)(cid:11)(cid:12)(cid:13)c dùng (cid:11)(cid:14) ch(cid:15)n ho(cid:16)c truy xu(cid:17)t các m(cid:18)u tin (Records) ho(cid:16)c các vùng tin (Fields) t(cid:19) các Tables c(cid:5)a CSDL.

c) Cú pháp t(cid:20)ng quát c(cid:5)a câu l(cid:1)nh SQL:

SELECT

FROM WHERE

42

[GROUP BY ] [HAVING ] [ORDER BY ]

V.1. SELECT

• Li(cid:1)t kê các Fields c(cid:2)n truy xu(cid:17)t.

• Mu(cid:23)n l(cid:17)y h(cid:22)t các Fields c(cid:5)a m(cid:27)t Table, ta dùng

d(cid:17)u * . Thí d(cid:28) : Select * From ...

• Mu(cid:23)n l(cid:17)y tu(cid:2)n t(cid:29) t(cid:19)ng Field thì các Fields ph(cid:4)i

phân cách v(cid:30)i nhau b(cid:10)i d(cid:17)u ph(cid:25)y.

Thí d(cid:28):

SELECT TblDanh_sach_ban_doc.MaBD, TblDanh_muc_thanh_phan.Tenthanhphan, TblDanh_sach_ban_doc.TenBD,

43

FROM ...........

VI.2. From

– Dùng (cid:11)(cid:14) khai báo ho(cid:16)c cung c(cid:17)p d(cid:6) li(cid:1)u ngu(cid:31)n

(là các Tables) cho câu l(cid:1)nh truy v(cid:17)n.

– Cú pháp:

FROM ]

– Có th(cid:14) dùng tên thay th(cid:22) ho(cid:16)c không (tên thay th(cid:22)(cid:7)(cid:11)(cid:12)(cid:13)c dùng khi tên Table quá dài và ph(cid:4)i s d(cid:28)ng nhi(cid:24)u Tables). Thí d(cid:28): SELECT * From TblDanh_muc_sach As Sach; ho(cid:16)c:

44

SELECT * From TblDanh_muc_sach;

Dùng theo cú pháp c(cid:5)a Access:

Select *

From BangA

Inner Join BangB

On BangA.Ma = BangB.Ma

Thí d(cid:28):

SELECT TblDanh_muc_sach.Tensach,TblTac_gia.TenTG FROM TblDanh_muc_sach INNER JOIN TblTac_gia ON TblDanh_muc_sach.Matacgia = TblTac_gia.Matacgia;

45

Dùng bí danh thay th(cid:22) tên Table: Select A.Manv, A.Holot+’ ‘+A.Ten As Hoten,

B.Lcb, B.Phucap

From TblHosonv As A Inner Join

TblHosoluong As B On A.Manv = B.Manv

Where A.MaBP =‘KTTV’;

46

VI.3. WHERE

• S d(cid:28)ng (cid:11)(cid:14) k(cid:22)t n(cid:23)i các Tables (theo ngôn ng(cid:6)

SQL chu(cid:25)n)

• S d(cid:28)ng nh(cid:12) m(cid:27)t m(cid:1)nh (cid:11)(cid:24) l(cid:15)c (Filter) (cid:11)(cid:14) k(cid:22)t xu(cid:17)t nh(cid:6)ng Records tho(cid:4)(cid:7)(cid:11)!(cid:24)u ki(cid:1)n tìm ki(cid:22)m

• D"ng t(cid:20)ng quát:

WHERE

Thí d(cid:28) 1:

Select *

From TblTacgia Where TblTacgia.Matp =‘TP01’;

47

SELECT TblTac_gia.TenTG,

TblDanh_muc_sach.Tensach

FROM TblTac_gia, TblDanh_muc_sach WHERE TblTac_gia.Matacgia =

TblDanh_muc_sach.Matacgia And TblTac_gia.MaTP ='TP11';

(SQL chu(cid:3)n)

SELECT TblTac_gia.TenTG, TblDanh_muc_sach.Tensach FROM TblTac_gia INNER JOIN TblDanh_muc_sach ON TblTac_gia.Masach = TblDanh_muc_sach.Masach WHERE tblTac_gia.MaTP = ‘TP11’; (MS.Access)

48

VI.4. ORDER BY (cid:1) Dùng (cid:11)(cid:14) s(cid:26)p x(cid:22)p các Records theo m(cid:27)t tr#t t(cid:29) xác (cid:11)$nh. (cid:1) Giá tr$ m(cid:16)c nhiên là tr#t t(cid:29)(cid:7)%&’((cid:7)(t(cid:19) A .. Z , 0 .. 9) Thí d(cid:28):

Li(cid:1)t kê danh sách nhân viên theo th(cid:4) t(cid:5) mã b(cid:6) ph(cid:7)n

Select * From TblHosonhanvien Order By Mabp

Li(cid:1)t kê danh m(cid:8)c sách Tin h(cid:9)c theo th(cid:4) t(cid:5) c(cid:2)a tên các nhà xu(cid:10)t b(cid:11)n

Select A.Masach, A.Tensach, B.TenNXB

From TblDanhmucsach As A Inner Join TblNhaxuatban As B

On A.Manxb = B.Manxb

Order By B.Tennxb;

49

VI.5. Group By và Having (cid:1) Dùng (cid:11)(cid:14) nhóm các Records có cùng giá tr$ t"i m(cid:27)t Field nào

(cid:11)ó.

(cid:1) (cid:7))(cid:14) l(cid:15)c các Records(cid:7) (cid:11)*(cid:7) (cid:11)(cid:12)(cid:13)c nhóm (Group), ta ph(cid:4)i dùng

Having

Thí d(cid:28): Li(cid:1)t kê tên các m(cid:16)t hàng mì gói (cid:11)ã xu(cid:17)t bán

Select A.Mahang, B.Tenhang

From TblHoadon As A Inner Join TblHanghoa As B On A.Mahang = B.Mahang Group By A.Mahang Having A.Mahang = “MIGOI*”;

50