Mệnh đề WHERE trong MySQL là một công cụ mạnh mẽ giúp bạn lọc kết quả của các truy vấn để chỉ lấy những bản ghi phù hợp với điều kiện mà bạn đã đặt ra. Trong bài viết này, chúng ta sẽ tìm hiểu cách sử dụng mệnh đề WHERE một cách chi tiết và hiệu quả.

Cấu Trúc Của Mệnh Đề WHERE

Cấu trúc cơ bản của mệnh đề WHERE trong câu lệnh SELECT là như sau:

SELECT column1, column2, ...
FROM table_name
WHERE condition;

Ví Dụ Cụ Thể

Giả sử bạn có một bảng tên là products, với các cột là product_id, product_name, category, và price. Để lấy thông tin các sản phẩm thuộc loại “Electronics”, bạn sẽ sử dụng mệnh đề WHERE như sau:

SELECT * 
FROM products 
WHERE category = 'Electronics';

Sử Dụng Các Toán Tử So Sánh

Mệnh đề WHERE hỗ trợ nhiều toán tử so sánh khác nhau giúp bạn lọc dữ liệu theo cách linh hoạt hơn:

  • =: Bằng
  • != hoặc <>: Khác
  • >: Lớn hơn
  • <: Nhỏ hơn
  • >=: Lớn hơn hoặc bằng
  • <=: Nhỏ hơn hoặc bằng

Ví Dụ Với Các Toán Tử So Sánh

Để tìm tất cả sản phẩm có giá lớn hơn 100, bạn có thể viết như sau:

SELECT * 
FROM products 
WHERE price > 100;

Sử Dụng Toán Tử Logic

Bạn cũng có thể kết hợp nhiều điều kiện trong mệnh đề WHERE bằng các toán tử logic:

  • AND: Tất cả các điều kiện đều phải đúng.
  • OR: Ít nhất một trong các điều kiện phải đúng.
  • NOT: Đảo ngược kết quả của điều kiện.

Ví Dụ Kết Hợp Các Toán Tử Logic

Để tìm tất cả sản phẩm thuộc loại “Electronics” và có giá lớn hơn 100, bạn có thể viết như sau:

SELECT * 
FROM products 
WHERE category = 'Electronics' AND price > 100;

Nếu bạn muốn tìm tất cả sản phẩm có giá nhỏ hơn 50 hoặc thuộc loại “Books”, câu lệnh sẽ như sau:

SELECT * 
FROM products 
WHERE price < 50 OR category = 'Books';

Sử Dụng Mệnh Đề LIKE

Mệnh đề LIKE cho phép bạn tìm kiếm các mẫu trong chuỗi. Bạn có thể sử dụng ký tự đại diện % để thay thế cho bất kỳ chuỗi nào và _ để thay thế cho một ký tự đơn.

Ví Dụ Với Mệnh Đề LIKE

Để tìm tất cả sản phẩm có tên bắt đầu bằng “Sam”, bạn có thể viết như sau:

SELECT * 
FROM products 
WHERE product_name LIKE 'Sam%';

Kết Hợp Nhiều Điều Kiện

Bạn có thể kết hợp các toán tử so sánh, toán tử logic, và mệnh đề LIKE trong cùng một câu lệnh WHERE. Ví dụ, để tìm sản phẩm có giá lớn hơn 50, thuộc loại “Electronics”, và tên sản phẩm chứa chữ “Phone”, bạn có thể viết như sau:

SELECT * 
FROM products 
WHERE price > 50 
AND category = 'Electronics' 
AND product_name LIKE '%Phone%';

Kết Luận

Mệnh đề WHERE là một phần quan trọng trong câu lệnh SELECT của MySQL, cho phép bạn lọc và truy vấn dữ liệu theo các điều kiện cụ thể. Việc sử dụng mệnh đề WHERE một cách thành thạo sẽ giúp bạn truy vấn dữ liệu một cách hiệu quả hơn và nhận được kết quả chính xác theo mong muốn.