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
42
[GROUP 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

