=
=

IN, BETWEEN, LIKE

Bên cạnh AND, OR, NOT, các lệnh IN, BETWEEN, và LIKE cũng thường được dùng trong biểu thức điều kiện của WHERE.

Lệnh BETWEEN dùng để chọn giá trị trong một khoảng nào đó. Cú pháp:

SELECT Tên_cột_hiển_thị
FROM Tên_bảng
WHERE Tên_cột BETWEEN giá_trị_1 AND giá_trị_2;

Ví dụ lệnh SQL hiển thị danh sách sinh viên có điểm trung bình chung TBC từ 6.5 đến 7.8:

SELECT *
FROM SINHVIEN
WHERE TBC BETWEEN 6.5 AND 7.8;
Thực thi mã

Lệnh IN là một hình thức khác của lệnh OR. Cú pháp:

SELECT Tên_cột_hiển_thị
FROM Tên_bảng
WHERE Tên_cột IN (giá_trị_1, giá_trị_2,...);

Lệnh này tương đương với lệnh OR như sau:

SELECT Tên_cột_hiển_thị
FROM Tên_bảng
WHERE Tên_cột = giá_trị_1 OR tên_cột = giá_trị_2 OR...;

Ví dụ:

SELECT *
FROM SINHVIEN
WHERE MaKH IN ('KH01', 'KH02');
Thực thi mã

Tương đương:

SELECT *
FROM SINHVIEN
WHERE MaKH = 'KH01' OR MaKH = 'KH02';
Thực thi mã

Ngoài việc dùng IN, BETWEEN, chúng ta có thể dùng LIKE để xác định dữ liệu trong những điều kiện phức tạp hơn như tìm kiếm các khách hàng có tên bắt đầu bằng chữ a hay tên có chữ cái thứ hai là r, v.v. Cú pháp LIKE:

SELECT Tên_cột_hiển_thị
FROM Tên_bảng
WHERE Tên_cột LIKE mẫu_điều_kiện;

mẫu_điều_kiện là biểu thức kết hợp các ký hiệu đặc biệt (wildcard) và hai kí hiệu đặc biệt thường dùng là:

Ví dụ lệnh SQL:

SELECT *
FROM SINHVIEN
WHERE TenSV LIKE 'k%';
Thực thi mã

Lệnh SQL trên hiển thị thông tin các sinh viên có tên bắt đầu bằng chữ k (hay K). Một lệnh SQL khác:

SELECT *
FROM SINHVIEN
WHERE TenSV LIKE 'k_%_%_%_%';
Thực thi mã

Lệnh SQL trên hiển thị thông tin các sinh viên có tên bắt đầu bằng chữ k (hay K) và tên chứa ít nhất 5 ký tự. Tham khảo thêm về cách dùng các wildcards tại w3schools.