Mệnh đề WHERE trong SQL
Ở bài trước chúng ta đã học cách sử dụng lệnh SELECT để lấy dữ liệu từ bảng, nhưng lệnh đó sẽ lấy tất cả dữ liệu hiện có, vì vậy trong bài này mình giới thiệu thêm một lệnh khác đó là lệnh WHERE dùng để lọc dữ liệu từ kết quả trả về đó.
1. Tìm hiểu Lệnh Where trong T-SQL
Lệnh WHERE được dùng để kết hợp trong lệnh SELECT và vị trí được đặt sau lệnh FROM để lọc dữ liệu, cú pháp như sau:
SELECT columns_list FROM table_name WHERE conditions
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 có thể sử dụng các toán tử so sánh như:
Bài viết này được đăng tại [free tuts .net]
>
lớn hơn<
bé hơn=
bằng>=
lớn hơn hoặc bằng<=
bé hơn hoặc bằngLIKE
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 danh sách này có thể có một số toán tử bạn chưa biết đến, tuy nhiên đừng lo lắng quá nhé, mình sẽ giới thiệu ở các bài tiếp theo.
2. Ví dụ với WHERE trong T-SQL
Giả sử ta có bảng dữ liệu như sau (bảng này được dùng cho toàn bộ các 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 yêu cầu khác như sau, lấy khách hàng 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 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.
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 < 6000 AND AGE >= 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 có thể áp dụng nó với hầu hết các hệ quản trị CSDL hiện nay.
Cùng chuyên mục:
Phiên làm việc là gì trong SQL
Trong bài viết này mình sẽ giải thích phiên làm việc là gì trong SQL…