1. Mệnh đề WHERE
Mệnh đề WHERE là một mệnh đề được dùng kiểm tra một điều kiện trong câu lệnh truy vấn, WHERE có thể đi kèm với các câu lệnh như SELECT, INSERT, UPDATE, DELETE….mệnh đề này chỉ được sử dụng để lấy ra các bản ghi có điều kiện đáp ứng cụ thể nào đó.
Cú pháp cho mệnh đề WHERE như sau:
SELECT column1, column2, ... FROM table_name WHERE condition;
Trong đó:
- SELECT là câu lệnh chọn
- column1, column2, ...là các cột được chọn lấy ra dữ liệu
- FROM table_name là tên bảng chứa các dữ liệu cần lấy ra
- WHERE condition là mệnh đề WHERE kèm theo điều kiện để chọn ra những dữ liệu thỏa mãn
2. Ví dụ mệnh đề WHERE
Dưới đây là bảng có tên KhachHang bao gồm các cột là: ID, TenKH, DiaChi, ThanhPho, SoDienThoai
ID | TenKH | DiaChi | ThanhPho | SoDienThoai |
1 | Nguyen Van A | Tay Ho | Ha Noi | 0888999888 |
2 | Nguyen Van B | Quan 5 | Ho Chi Minh | 0988988988 |
3 | Nguyen Van C | Quan 7 | Ho Chi Minh | 0899899899 |
4 | Nguyen Van D | Bac Tu Liem | Ha Noi | 0788788788 |
5 | Nguyen Van E | Ngo Quen | Hai Phong | 0858585858 |
6 | Nguyen Van F | Ngu Hanh Son | Da Nang | 0969696969 |
7 | Nguyen Van G | Tay Ho | Ha Noi | 0838383838 |
Câu lệnh SELECT dưới đây sẽ chọn ra tất cả thông tin của những bản ghi có những khách hàng địa chỉ tại “Hà Nội”. Nghĩa là điều kiện ThanhPho = ‘Ha Noi’
SELECT * FROM KhachHang WHERE ThanhPho='Ha Noi';
Kết quả nhận được sau khi thực thi câu truy vấn trên là:
ID | TenKH | DiaChi | ThanhPho | SoDienThoai |
1 | Nguyen Van A | Tay Ho | Ha Noi | 0888999888 |
4 | Nguyen Van D | Bac Tu Liem | Ha Noi | 0788788788 |
7 | Nguyen Van G | Tay Ho | Ha Noi | 0838383838 |
Tiếp theo, giả sử ta cần lấy ra các khách hàng trong bảng KhachHang có số điện thoại là 0888999888 và địa chỉ tại Tây Hồ. Nghĩa là điều kiện SoDienThoai = ‘0888999888’ AND DiaChi = ‘Tay Ho’
SELECT * FROM KhachHang WHERE SoDienThoai = '0888999888' AND DiaChi = 'Tay Ho';
Kết quả nhận được là:
ID | TenKH | DiaChi | ThanhPho | SoDienThoai |
1 | Nguyen Van A | Tay Ho | Ha Noi | 0888999888 |
Chú ý: Khi kiểm tra điều kiện với các giá trị là ký tự (hay chuỗi ký tự) thì cần có sử dụng dấu nháy đơn và bên trong là giá trị. Ví dụ như: ‘Tay Ho’, ‘Ha Noi’….
Tuy nhiên làm việc với kiểu dữ liệu số thì ta không cần quy tắc dấu nháy đơn.
3. Các toán tử mệnh đề WHERE
Bảng dưới đây liệt kê lại một số toán tử phổ biến hay được sử dụng đi kem cùng với toán tử WHERE
Toán tử | Mô tả |
= | So sánh bằng |
> | So sánh lớn hơn |
< | So sánh nhỏ hơn |
>= | So sánh lớn hơn hoặc bằng |
<= | So sánh nhỏ hơn hoặc bằng |
!= | So sánh không bằng |
BETWEEN | Giữa một phạm vi nhất định |
LIKE | Tìm kiếm theo một mẫu tương tự |
IN | Để chỉ định nhiều giá trị có thể có cho một cột |