Cách truy vấn dữ liệu theo điều kiện trong MySQL
- Thông thường, khi chúng ta sử dụng lệnh SELECT để truy xuất dữ liệu từ một cái bảng thì mặc định nó sẽ lấy hết tất cả các hàng nằm trên cái bảng. Tuy nhiên, có một số trường hợp chúng ta chỉ muốn lấy những hàng khi dữ liệu trên hàng đó thỏa một điều kiện cụ thể nào đó.
- Để giải quyết vấn đề được đặt ra ở phía trên thì khi sử dụng lệnh SELECT, chúng ta phải thêm mệnh đề WHERE nằm cuối câu lệnh với cú pháp như sau:
SELECT column1, column2, column3, . . . .
FROM table_name
WHERE condition;
- Trong đó, condition là biểu thức điều kiện mà các bạn muốn dựa vào nó để chọn lọc dữ liệu, một biểu thức điều kiện thường có ba thành phần cơ bản, đó chính là: tên cột toán tử so sánh giá trị
- Dưới đây là bảng mô tả sơ qua về những toán tử thường được sử dụng trong việc xác định một điều kiện.
= | - Bằng. | Xem ví dụ |
> | - Lớn hơn. | Xem ví dụ |
< | - Nhỏ hơn. | Xem ví dụ |
>= | - Lớn hơn hoặc bằng. | Xem ví dụ |
<= | - Nhỏ hơn hoặc bằng. | Xem ví dụ |
!= | - Khác - Lưu ý: Toán tử <> cũng có ý nghĩa tương tự như toán tử != | Xem ví dụ |
BETWEEN | - Nằm trong một phạm vi giá trị. | Xem ví dụ |
LIKE | - Tìm kiếm dựa theo mẫu chuỗi. | Xem ví dụ |
IN | - Nằm trong số những giá trị được chỉ định. | Xem ví dụ |
THAM KHẢO MỘT SỐ VÍ DỤ
- Trong bài học này, tôi sẽ sử dụng cái bảng Products như bên dưới để làm một số ví dụ minh họa.
ProductID | ProductName | Price |
1 | Kem đánh răng PS muối | 22000 |
2 | Nước tăng lực Sting dâu | 9000 |
3 | Mì hảo hảo tôm chua cay | 4500 |
4 | Dầu gội đầu Romano | 59000 |
5 | Xúc xích heo cao bồi | 18000 |
6 | Băng keo cá nhân | 4500 |
- Liệt kê những sản phẩm có giá là 4500
SELECT * FROM Products WHERE Price = 4500;
- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.
ProductID | ProductName | Price |
3 | Mì hảo hảo tôm chua cay | 4500 |
6 | Băng keo cá nhân | 4500 |
- Liệt kê những sản phẩm có giá lớn hơn 18000
SELECT * FROM Products WHERE Price > 18000;
- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.
ProductID | ProductName | Price |
1 | Kem đánh răng PS muối | 22000 |
4 | Dầu gội đầu Romano | 59000 |
- Liệt kê những sản phẩm có giá nhỏ hơn 18000
SELECT * FROM Products WHERE Price < 18000;
- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.
ProductID | ProductName | Price |
2 | Nước tăng lực Sting dâu | 9000 |
3 | Mì hảo hảo tôm chua cay | 4500 |
6 | Băng keo cá nhân | 4500 |
- Liệt kê những sản phẩm có giá lớn hơn hoặc bằng 18000
SELECT * FROM Products WHERE Price >= 18000;
- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.
ProductID | ProductName | Price |
1 | Kem đánh răng PS muối | 22000 |
4 | Dầu gội đầu Romano | 59000 |
5 | Xúc xích heo cao bồi | 18000 |
- Liệt kê những sản phẩm có giá nhỏ hơn hoặc bằng 18000
SELECT * FROM Products WHERE Price <= 18000;
- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.
ProductID | ProductName | Price |
2 | Nước tăng lực Sting dâu | 9000 |
3 | Mì hảo hảo tôm chua cay | 4500 |
5 | Xúc xích heo cao bồi | 18000 |
6 | Băng keo cá nhân | 4500 |
- Liệt kê những sản phẩm có giá khác 18000
SELECT * FROM Products WHERE Price != 18000;
- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.
ProductID | ProductName | Price |
1 | Kem đánh răng PS muối | 22000 |
2 | Nước tăng lực Sting dâu | 9000 |
3 | Mì hảo hảo tôm chua cay | 4500 |
4 | Dầu gội đầu Romano | 59000 |
6 | Băng keo cá nhân | 4500 |
- Liệt kê những sản phẩm có giá nằm trong phạm vi từ 10000 đến 30000
SELECT * FROM Products WHERE Price BETWEEN 10000 AND 30000;
- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.
ProductID | ProductName | Price |
1 | Kem đánh răng PS muối | 22000 |
5 | Xúc xích heo cao bồi | 18000 |
- Liệt kê những sản phẩm mà tên của nó có chứa từ Sting
SELECT * FROM Products WHERE ProductName LIKE "%Sting%";
- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.
ProductID | ProductName | Price |
2 | Nước tăng lực Sting dâu | 9000 |
- Liệt kê những sản phẩm có giá là 4500 hoặc 18000 hoặc 22000
SELECT * FROM Products WHERE Price IN (4500, 18000, 22000);
- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.
ProductID | ProductName | Price |
1 | Kem đánh răng PS muối | 22000 |
3 | Mì hảo hảo tôm chua cay | 4500 |
5 | Xúc xích heo cao bồi | 18000 |
6 | Băng keo cá nhân | 4500 |
- Mệnh đề WHERE ngoài việc được sử dụng bởi lệnh SELECT thì nó còn được dùng bởi lệnh UPDATE để cập nhật dữ liệu, hoặc lệnh DELETE để xóa dữ liệu, các bạn sẽ được tìm hiểu chi tiết về hai loại lệnh này trong những bài hướng dẫn tiếp theo.
إرسال تعليق