Ở bài trước tất cả chúng ta đã học cách sử dụng lệnh SELECT để lấy tài liệu từ bảng, nhưng lệnh đó sẽ lấy tổng thể tài liệu hiện có, vì thế trong bài này mình ra mắt thêm một lệnh khác đó là lệnh WHERE dùng để lọc tài liệu từ hiệu quả trả về đó .
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
1. Tìm hiểu Lệnh Where trong T-SQL
Lệnh WHERE được dùng để phối hợp trong lệnh SELECT và vị trí được đặt sau lệnh FROM để lọc tài liệu, cú pháp như sau :
Cú pháp
SELECT columns_list FROM table_name WHERE conditions
Ví dụ
SELECT * FROM customers WHERE age = 32
Trong ví dụ này thì age = 32
chính là condition, ý nghĩa của nó là lọc qua tất cả dữ liệu trong bảng và chọn dòng nào có age = 32.
Bạn hoàn toàn có thể sử dụng những toán tử so sánh như :
>
lớn hơnbé hơn
=
bằng>=
lớn hơn hoặc bằngbé hơn hoặc bằng
LIKE
so sánh chuỗi trùng khớpNOT
so sánh không giống, thường kết hơp với LIKE, IN, ..
Trong list này hoàn toàn có thể có 1 số ít toán tử bạn chưa biết đến, tuy nhiên đừng lo ngại quá nhé, mình sẽ ra mắt ở những bài tiếp theo .
2. Ví dụ với WHERE trong T-SQL
Giả sử ta có bảng tài liệu như sau ( bảng này được dùng cho hàng loạt những phần phía dưới đây ) :
ID NAME AGE ADDRESS SALARY 1 Ramesh 32 Ahmedabad 2000.00 2 Khilan 25 Delhi 1500.00 3 kaushik 23 Kota 2000.00 4 Chaitali 25 Mumbai 6500.00 5 Hardik 27 Bhopal 8500.00 6 Komal 22 MP 4500.00 7 Muffy 24 Indore 10000.00
Bây giờ mình cần truy vấn lấy các columns ID
, Name
and Salary
của những khách hàng nào có mức lương lớn hơn 3000.
SELECT ID, NAME, SALARY FROM CUSTOMERS WHERE SALARY > 3000;
Kết quả sẽ trả về như sau :
ID NAME SALARY 4 Chaitali 6500.00 5 Hardik 8500.00 6 Komal 4500.00 7 Muffy 10000.00
Một nhu yếu khác như sau, lấy người mua có tên là ” Hardik ” .
SELECT ID, NAME, SALARY FROM CUSTOMERS WHERE NAME = 'Hardik';
Kết quả trả về như sau :
ID NAME SALARY 5 Hardik 8500.00
3. Where với hơn một điều kiện
Nếu bạn muốn truy vấn với nhiều hơn một điều kiện kèm theo thì sao ? Lúc này bạn phải sử dụng đến hai toán tử thông dụng nhất là OR hoặc AND .
- AND sẽ trả về TRUE nếu cả hai vế phải và vế trái đều đúng, ngược lại một trong hai vế sai thì sẽ trả về FALSE
- OR sẽ trả về TRUE nếu ít nhất một trong hai vế phải và trái đúng, và trả về FALSE nếu cả hai vế đều sai.
Cú pháp
SELECT columns_name FROM table_name WHERE condition1 [AND][OR] condition2
Ví dụ: Lấy danh sách khách hàng có salary > 4500
và ID > 4
.
SELECT ID, NAME, SALARY FROM CUSTOMERS WHERE SALARY > 4500 AND ID > 4;
Kết quả như sau :
ID NAME AGE ADDRESS SALARY 5 Hardik 27 Bhopal 8500.00 7 Muffy 24 Indore 10000.00
Ví dụ: Lấy danh sách khách hàng có salary > 6000
hoặc age >= 25
.
SELECT ID, NAME, SALARY FROM CUSTOMERS WHERE SALARY = 25;
Kết quả như sau :
ID NAME AGE ADDRESS SALARY 2 Khilan 25 Delhi 1500.00 4 Chaitali 25 Mumbai 6500.00 5 Hardik 27 Bhopal 8500.00 7 Muffy 24 Indore 10000.00
Trên là ví dụ về cách sử dụng lệnh WhERE trong SQL, bạn hoàn toàn có thể vận dụng nó với hầu hết những hệ quản trị CSDL lúc bấy giờ .