Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
WHERE trong SQL được sử dụng như thế nào? Dưới đây là mọi điều bạn cần biết về câu lệnh WHERE trong SQL.
Nếu đang học lập trình, ắt hẳn SQL không còn quá xa lạ với bạn. Đây là ngôn ngữ truy vấn có cấu trúc, giúp người dùng xử lý thông tin đơn giản và dễ dàng hơn. Chính vì thế, bên cạnh học ngôn ngữ lập trình, bất cứ ai muốn phát triển trong ngành này đều cần biết SQL.
Học SQL không khó. Quantrimang.com sẽ cung cấp cho bạn những bài học cơ bản nhất. Ở bài viết này, chúng ta hãy cùng nhau tìm hiểu về WHERE trong SQL nhé!
Mệnh đề WHERE trong SQL được sử dụng để chỉ định điều kiện khi lấy dữ liệu từ một bảng hoặc nối nhiều bảng với nhau. Nếu điều kiện được thỏa mãn thì nó chỉ trả về những giá trị cụ thể trong bảng.
Mệnh đề WHERE cũng được sử dụng để lọc các bản ghi và chỉ lấy những bản ghi phù hợp với yêu cầu hoặc thực sự cần thiết.
WHERE không đi một mình mà thường được sử dụng kết hợp với lệnh SELECT, lệnh UPDATE, lệnh DELETE và rất nhiều lệnh khác. Bạn sẽ được nhìn thấy ví dụ về sự kết hợp này trong những bài tiếp theo.
Như đã nói ở trên, mệnh đề WHERE được dùng với các lệnh liên quan đến việc xử lý dữ liệu, vì vậy ta sẽ xem xét mệnh đề này trong lệnh SELECT, một sự kết hợp thường xuyên được nhìn thấy nhất trong SQL.
SELECT cot1, cot2,.... cotN FROM TEN_BANG WHERE [DIEU_KIEN]
Bạn có thể chỉ định điều kiện bằng cách sử dụng các toán tử logic hoặc so sánh như >, <, LIKE, NOT,...
Các toán tử sau có thể được sử dụng trong mệnh đề WHERE:
Toán tử | Mô tả |
= | Bằng |
> | Lớn hơn |
< | Nhỏ hơn |
>= | Lớn hơn hoặc bằng |
<= | Nhỏ hơn hoặc bằng |
<> | Không công bằng. Lưu ý: Trong một số phiên bản SQL, toán tử này có thể được viết là != |
BETWEEN | Giữa một phạm vi nhất định |
LIKE | Tìm kiếm dựa trên mẫu tương tự |
IN | Để chỉ định nhiều giá trị có thể có cho một cột |
Ta tiếp tục sử dụng lại bảng NHANVIEN đã dùng trong các ví dụ trước:
+----+----------+-----+-----------+---------+
| ID | TEN | TUOI| DIACHI | LUONG |
+----+----------+-----+-----------+---------+
| 1 | Thanh | 24 | Haiphong | 2000.00 |
| 2 | Loan | 26 | Hanoi | 1500.00 |
| 3 | Nga | 24 | Hanam | 2000.00 |
| 4 | Mạnh | 29 | Hue | 6500.00 |
| 5 | Huy | 28 | Hatinh | 8500.00 |
| 6 | Cao | 23 | HCM | 4500.00 |
| 7 | Lam | 29 | Hanoi | 15000.00|
+----+----------+-----+-----------+---------+
Giờ ta sẽ dùng WHERE kết hợp với SELECT để lọc ra những nhân viên có lương cao hơn 4500:
SQL> SELECT ID, TEN, LUONG FROM NHANVIEN WHERE LUONG > 4500;
Không có lỗi nào xảy ra thì kết quả trả về sẽ là:
+----+----------+-----+-----------+---------+
| ID | TEN | TUOI| DIACHI | LUONG |
+----+----------+-----+-----------+---------+
| 4 | Mạnh | 29 | Hue | 6500.00 |
| 5 | Huy | 28 | Hatinh | 8500.00 |
| 7 | Lam | 29 | Hanoi | 15000.00|
+----+----------+-----+-----------+---------+
Bây giờ ta sẽ chỉ lấy ID, TEN, LUONG từ bảng NHANVIEN cho nhân viên có tên là Mạnh. Có một lưu ý cho bạn trong phần này là tất cả các chuỗi cần được đặt trong cặp dấu ' ', nhưng giá trị là số thì lại không cần cho vào dấu nháy đơn, giống như ví dụ 1.
SQL> SELECT ID, TEN, LUONG FROM NHANVIEN WHERE TEN = 'Mạnh';
Kết quả trả về sẽ là:
+----+----------+-----+-----------+---------+
| ID | TEN | TUOI| DIACHI | LUONG |
+----+----------+-----+-----------+---------+
| 4 | Mạnh | 29 | Hue | 6500.00 |
+----+----------+-----+-----------+---------+
Bạn có thể dùng toán tử AND và OR với nhau trong SQL để kết hợp nhiều điều kiện trong một mệnh đề WHERE để lọc các hàng đáp ứng tiêu chí cụ thể. Toán tử AND sẽ đảm bảo chỉ lọc các hàng được chọn, đáp ứng tất cả điều kiện. Toán tử OR sẽ lọc bản ghi thỏa mãn một điều kiện cụ thể. Tuy nhiên, điều này chỉ được dùng khi một điều kiện không đủ để lọc tất cả các hàng cần thiết.
Cú pháp sau đang dùng toán tử AND và OR trong điều kiện WHERE của SQL.
WHERE (condition1 OR condition2) AND condition3;
Ví dụ:
Truy vấn sau cần truy xuất toàn bộ hàng từ bảng CUSTOMER dựa trên một số điều kiện. Các dấu ngoặc đơn kiểm soát thứ tự đánh giá để toán tử OR được áp dụng đầu tiên, theo sau là toán tử AND:
SELECT * FROM CUSTOMERS WHERE (AGE = 25 OR salary < 4500) AND (name = 'Komal' OR name = 'Kaushik');
Kết quả:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 3 | kaushik | 23 | Kota | 2000.00 | +----+----------+-----+-----------+----------+
Mệnh đề WHERE với toán tử LIKE cho phép bạn lọc các hàng khớp với một mẫu cụ thể. Mẫu này được thể hiện bằng các ký tự đại diện (chẳng hạn như %, _, []). Sau đây là cú pháp của nó:
WHERE column_name LIKE pattern;
Trong đó, column_name là cột mà bạn muốn so sánh với mẫu, còn pattern là một chuỗi có thể chứa các ký tự đại diện (như %, _, []).
Ví dụ:
Sau đây là truy vấn mà sẽ hiển thị tất cả bản ghi tại nơi có tên bắt đầu bằng K và dài ít nhất 4 chữ cái:
SELECT * FROM CUSTOMERS WHERE NAME LIKE 'K___%';
Kết quả:
ID | NAME | AGE | ADDRESS | SALARY |
---|---|---|---|---|
2 | Khilan | 25 | Delhi | 1500.00 |
3 | Kaushik | 23 | Kota | 2000.00 |
6 | Komal | 22 | Hyderabad | 4500.00 |
Vậy là bạn đã nắm được cách sử dụng mệnh đề WHERE và cách kết hợp SELECT với WHERE để chỉ lấy những dữ liệu phù hợp với điều kiện nhất định.
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn