- 1 -
SQL Server 2000 : Các câu l nh truy v n d li u -
L nh SELECT FROM – Ph n 1
L p trình trong Transaction-SQL ch y u b n s d ng ế
các câu l nh truy v n và k t h p v i c u trúc đi u khi n thích ế
h p cùng các bi n đã đ c khai báo đ th c hi n các hành ế ượ
đ ng thích h p cho vi c c p nh t d li u vào bên trong c s ơ
d li u.
Các l nh truy v n th ng dùng nh thêm dòng d li u m i ườ ư
vào b ng, xóa các dòng d li u đang có trong b ng, thay đ i giá tr các c t d li u bên
trong b ng, ch n l a các dòng d li u t các b ng c n thi t. Tuy nhiên đ i v i ế
pháp đ y đ c a l nh SELECT r t ph c t p khó nh th s h ng d n b n ế ướ
riêng r theo t ng thành ph n khác nhau nh m giúp b n d hi u, d nh .
1/- L nh SELECT FROM
Ý nghĩa ho t đ ng c a câu l nh SELECT FROM dùng đ cho phép b n có th ch n
l a các d li u c n thi t t m t ho c nhi u b ng quan h bên trong m t c s d ế ơ
li u.
Câu l nh này th ng đ c dùng nhi u bên trong Transaction-SQL. Tuy nhiên cũng ườ ượ
gi ng nh cú pháp c a l nh CREATE TABLE, b n v n có th s d ng cùng lúc đ ng ư
th i đ y đ các m nh đ c a l nh SELECT FROM.
1.1/- L nh SELECT FROM đ n gi n : ơ
V i pháp SELECT FROM bên d i cho phép b n th ch n ra d li u c a các ướ
c t hi n bên trong m t b ng. V i pháp này tên các c t ph i đ c ch đ nh ượ
ràng.
Cú pháp :
Trong đó :
Dang sách các c t : n các c t hi n đang bên trong b ng b n c n l y d
li u.
• Tên b ng : tên b ng c n hi n th d li u.
- 2 -
Ví d :
Đ hi n th thông tin c a các v t t trong b ng VATTU g m nh ng c t : v t t , ư ư
tên v t t . B n th c hi n câu l nh sau : ư
K t qu truy v n tr v :ế
1.2/- M nh đ s p x p d li u : ế
V i cú pháp SELECT FROM bên d i k t h p m nh đ ORDER BY cho phép b n ướ ế
th l y d li u c a các c t bên trong m t b ng, sau đó s p x p l i d li u theo th t ế
ch đ nh là tăng ho c gi m.
Cú pháp :
Trong đó :
Tên c t s p x p : ế tên c t đ c s p x p d li u. Th t u tiên s p x p các c t ượ ế ư ế
d li u t trái sang ph i và m c đ nh theo th t tăng d n.
• T khóa DESC : dùng ch thay đ i th t s p x p là gi m d n. M c đ nh th t s p ế
x p là tăng d n.ế
- 3 -
Ví d :
Đ hi n th thông tin c a các v t t trong b ng VATTU g m nh ng c t : v t t , ư ư
tên v t t , ph n trăm s p x p d li u theo c t t l ph n trăm tăng d n. B n th c ư ế
hi n câu l nh SELECT FROM nh sau : ư
K t qu truy v n tr v :ế
1.3/- M nh đ ch n các dòng d li u :
V i cú pháp SELECT FROM bên d i k t h p m nh đ WHERE cho phép b n có th ướ ế
l c các dòng d li u bên trong m t b ng ph i th a đi u ki n đ a ra trong m nh đ ư
WHERE.
Cú pháp :
Trong đó :
- 4 -
T khóa DISTINCT : dùng đ ch đ nh truy v n ch ch n ra các dòng d li u duy
nh t, không trùng l p d li u.
T khóa TOP : dùng đ ch đ nh truy v n ch ch n ra chính xác bao nhiêu dòng d
li u đ u tiên. N u có thêm t khóa PERCENT đi kèm theo thì truy v n ch ch n ra bao ế
nhiêu ph n trăm m u tin đ u tiên, lúc b y gi con s b n ch đ nh ph i n m trong
ph m vi t 0 đ n 100. Thông th ng khi s d ng t khóa TOP thì b n s k t h p ế ườ ế
m nh đ ORDER BY đ s p x p l i d li u theo m t th t nào đó. ế
Đi u ki n l c : đi u ki n ch đ nh vi c l c ra các m u tin bên trong b ng. Thông
th ng là m t bi u th c lu n lý.ườ
Ví d :
Đ hi n th toàn b thông tin c a các v t t trong b ng VATTU sao cho ch ch n ra ư
các v t t có đ n v tính "Cái". B n th c hi n câu l nh SELECT FROM nh sau : ư ơ ư
hi u * trong d này đ i di n cho t t c các c t bên trong b ng. K t qu ế
truy v n tr v :
Ví d :
Gi ng nh d trên nh ng b n ch mu n ch n ra v t t đ u tiên t l ph n trăm ư ư ư
cao nh t. B n th c hi n câu l nh SELECT FROM có k t h p m nh đ TOP nh sau : ế ư
- 5 -
K t qu truy v n tr v :ế
Đ i v i các ng i s d ng ngôn ng SQL tr c đây, m nh đ WHERE còn giúp ườ ướ
h có th liên k t d li u c a nhi u b ng có quan h trong các truy v n l y d li u t ế
nhi u b ng khác nhau.
Cú pháp :
Trong đó :
M nh đ liên k t : ế thông th ng dùng đ ch đ nh các c t quan h chung c aườ
gi a hai b ng tham chi u trong truy v n, có d ng nh sau : ế ư
• Tên_b ng1.Tên_c t = Tên_b ng2.Tên_c t
Ví d :
Đ hi n th thông tin c a các đ n đ t hàng trong b ng DONDH kèm theo c t h tên ơ
c a nhà cung c p t ng ng trong b ng NHACC s p x p d li u hi n th theo th ươ ế
t mã nhà cung c p tăng d n. B n th c hi n l nh SELECT FROM nh sau : ư
K t qu truy v n tr v :ế