Mệnh đề WHERE trong SQL
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.
Cú pháp mệnh đề WHERE
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ử trong Mệnh đề WHERE
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 |
Ví dụ về mệnh đề WHERE
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|
+----+----------+-----+-----------+---------+
Ví dụ 1:
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|
+----+----------+-----+-----------+---------+
Ví dụ 2:
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 |
+----+----------+-----+-----------+---------+
Mệnh đề WHERE với toán tử AND, OR
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
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.
Bạn nên đọc
Cũ vẫn chất
-
Khắc phục lỗi mạng WiFi không hiển thị trên Windows 10
Hôm qua -
Cách viết số mũ trong Excel, viết chỉ số trên, chỉ số dưới trong Excel
Hôm qua -
5 cách tắt Update Windows 11, ngừng cập nhật Win 11
Hôm qua 14 -
Black Friday là gì? Black Friday 2023 vào ngày nào?
Hôm qua -
30 lời chúc sinh nhật chồng yêu ý nghĩa và ngọt ngào
Hôm qua 1 -
Cách sửa file MP4 bị hỏng với thủ thuật đơn giản
Hôm qua -
Đấu Trường Chân Lý Mobile (TFT Mobile)
-
200+biệt danh cho người yêu hay và hài hước
Hôm qua 5 -
Cách khởi động và dừng các dịch vụ trong MS SQL Server
Hôm qua -
Cách ẩn tin nhắn Telegram không cần xóa
Hôm qua