You are on page 1of 9

VI.

Cú pháp l nh SELECT c a SQL


a) L nh SELECT là thành ph n c b n c a ngôn ng
d li u SQL.
b) L nh SELECT c dùng ch n ho c truy xu t các m u
tin (Records) ho c các vùng tin (Fields) t các Tables c a
CSDL.
c) Cú pháp t ng quát c a câu l nh SQL:

SELECT <Danh sách các Fields>


FROM <Danh sách các Tables>
WHERE <Bi u th c k t n i Tables>
<Bi u th c i u ki n l c>
[GROUP BY <Tiêu chu n phân nhóm>]
[HAVING <Tiêu chu n ch n nhóm>]
[ORDER BY <Tiêu chu n s p x p>] 42
V.1. SELECT
• Li t kê các Fields c n truy xu t.
• Mu n l y h t các Fields c a m t Table, ta dùng
d u * . Thí d : Select * From ...
• Mu n l y tu n t t ng Field thì các Fields ph i
phân cách v i nhau b i d u ph y.
Thí d :
SELECT TblDanh_sach_ban_doc.MaBD,
TblDanh_muc_thanh_phan.Tenthanhphan,
TblDanh_sach_ban_doc.TenBD,
FROM ...........
43
VI.2. From
– Dùng khai báo ho c cung c p d li u ngu n
(là các Tables) cho câu l nh truy v n.
– Cú pháp:
FROM <Tên Table [[As] <Tên thay th >]
– Có th dùng tên thay th ho c không (tên thay
th c dùng khi tên Table quá dài và ph i s
d ng nhi u Tables).
Thí d :
SELECT * From TblDanh_muc_sach As Sach;
ho c:
SELECT * From TblDanh_muc_sach;
44
Dùng theo cú pháp c a Access:
Select *
From BangA
Inner Join BangB
On BangA.Ma = BangB.Ma
Thí d :
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 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 ng k t n i các Tables (theo ngôn ng
SQL chu n)
• S d ng nh m t m nh l c (Filter) k t
xu t nh ng Records tho ! u ki n tìm ki m
• D"ng t ng quát:
WHERE <Join Condition>
<Filter Condition>
Thí d 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 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
Dùng s p x p các Records theo m t tr#t t xác $nh.
Giá tr$ m c nhiên là tr#t t %&'( (t A .. Z , 0 .. 9)
Thí d :
Li t kê danh sách nhân viên theo th t mã b ph n
Select * From TblHosonhanvien Order By Mabp
Li t kê danh m c sách Tin h c theo th t c a tên các nhà xu t b 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
Dùng nhóm các Records có cùng giá tr$ t"i m t Field nào
ó.
) l c các Records * c nhóm (Group), ta ph i dùng
Having <Filter Condition>
Thí d : Li t kê tên các m t hàng mì gói ã xu 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

You might also like