Toán tử trong MySQL

Toán tử trong MySQL
Toán tử trong MySQL

Toán tử số học trong MySQL

Toán tử Mô tả Chi tiết
+ Phép Cộng
- Phép Trừ
* Phép Nhân
/ Phép Chia
% Số dư của phép chia

Toán tử so sánh trong MySQL

Toán tử Mô tả Chi tiế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 bằng

Toán tử logic trong MySQL

Toán tử Mô tả Chi tiết
ALL Dùng để so sánh id của bảng này xem có bằng, lớn hơn, nhỏ hơn với tất cả các id đã thỏa điều kiện ở bảng khác hay không. Chi tiết
AND Được sử dụng để nối các điều kiện lại với nhau, các hàng trong bảng phải thỏa hết những điều kiện mà toán tử and nối lại với nhau. Chi tiết
ANY Dùng để lấy danh sách thuộc khóa chính ở bảng này thuộc bất kỳ một điều kiện nào đưa ra ở bảng khác có liên quan khóa. Chi tiết
BETWEEN Được dùng để lấy những hàng có giá trị của cột nằm trong một khoảng giá trị nhất định. Chi tiết
EXISTS Dùng để lấy một danh sách thuộc khóa chính ở bảng này có nằm trong một bảng khác và có thể có điều kiện kèm theo. Chi tiết
IN Được sử dụng trong mệnh đề WHERE, nếu giá trị của cột giống với một phần tử trong chuỗi thì thỏa điều kiện, mỗi phần tử trong toán tử in được tách nhau bằng dấu phẩy. Chi tiết
LIKE Được sử dụng trong mệnh để WHERE, nếu trong cột chứa chuỗi ký tự đưa vào thì hàng đó sẽ thỏa điều kiện. Chi tiết
OR Được sử dụng trong mệnh đề WHERE dùng để nhóm các điều kiện lại với nhau, mỗi hàng chỉ cần thỏa một trong những điều kiện đó. Chi tiết
SOME Dùng để lấy những hàng ở bảng này mà chỉ cần thỏa điều kiện đối với một vài hàng có điều kiện ở bảng khác. Chi tiết
REGEXP Dùng để kiểm tra một chuỗi có chứa các ký tự ở nhiều vị trí hay không hoặc có đúng cấu trúc cần lấy hay không. Chi tiết
UNION Dùng để nối 2 hoặc nhiều câu lệnh select sau đó lấy các cột giống nhau của các bảng và loại bỏ các hàng trùng lặp, các cột khi select phải có thứ tự giống nhau và kiểu dữ liệu cũng giống nhau, các số lượng cột của các câu lệnh select phải giống nhau. Chi tiết
UNION ALL Dùng để nối 2 hoặc nhiều câu lệnh select sau đó lấy các cột giống nhau của các bảng và không loại bỏ các hàng trùng lặp, các cột khi select phải có thứ tự giống nhau và kiểu dữ liệu cũng giống nhau, các số lượng cột của các câu lệnh select phải giống nhau. Chi tiết

Cách kết hợp toán tử MySQL trong câu lệnh SQL

Khi xử lý dữ liệu thực tế, một câu lệnh SQL thường cần nhiều điều kiện cùng lúc thay vì chỉ sử dụng một toán tử. Việc kết hợp đúng các toán tử giúp truy vấn lọc dữ liệu chính xác, dễ kiểm soát và hạn chế kết quả ngoài mong muốn.

Kết hợp nhiều toán tử trong mệnh đề WHERE

Trong WHERE, có thể kết hợp toán tử so sánh, toán tử logic và các toán tử như IN, BETWEEN hoặc LIKE để tạo điều kiện lọc phù hợp.

SELECT *
FROM products
WHERE price > 500000
AND category_id IN (1, 2, 3)
AND name LIKE '%Laptop%';

Trong ví dụ trên, dữ liệu phải đồng thời thỏa mãn cả ba điều kiện: giá lớn hơn 500.000, thuộc một trong các nhóm được chỉ định và tên sản phẩm có chứa từ khóa cần tìm.

Thứ tự ưu tiên khi MySQL xử lý toán tử

Khi một biểu thức chứa nhiều toán tử, MySQL sẽ xử lý theo thứ tự ưu tiên nhất định. Điều này có thể làm kết quả khác với cách đọc thông thường nếu các điều kiện không được nhóm rõ ràng.

Đặc biệt, AND thường được xử lý trước OR. Vì vậy, khi muốn thể hiện chính xác ý định của điều kiện, nên chủ động sử dụng dấu ngoặc thay vì phụ thuộc hoàn toàn vào thứ tự ưu tiên.

Dùng dấu ngoặc để kiểm soát điều kiện

Dấu ngoặc giúp nhóm các điều kiện cần được đánh giá cùng nhau, đồng thời làm câu lệnh dễ đọc và giảm nguy cơ lọc sai dữ liệu.

SELECT *
FROM users
WHERE (status = 'active' AND age >= 18)
OR role = 'admin';

Cách viết này thể hiện rõ rằng người dùng đủ tuổi và đang hoạt động được chọn, hoặc người có quyền quản trị cũng được chọn dù không thỏa điều kiện đầu tiên.

Lưu ý khi kết hợp toán tử với giá trị NULL

NULL không phải là một giá trị thông thường nên không thể kiểm tra bằng cách dùng = NULL hoặc NULL. Khi cần xác định một cột có giá trị NULL, nên sử dụng IS NULL hoặc IS NOT NULL.

SELECT *
FROM users
WHERE email IS NOT NULL
AND status = 'active';

Nắm rõ cách xử lý NULL đặc biệt quan trọng khi kết hợp nhiều điều kiện, bởi phép so sánh với NULL có thể tạo ra kết quả không xác định và khiến truy vấn không trả về dữ liệu như dự kiến.

Tải file database .sql về nếu muốn kiểm tra hoặc thực hành Tải về.

  • 0 Bình luận
CEO Bùi Tấn Lực | Founder Web Mới
Bùi Tấn Lực
Tìm hiểu về CEO Bùi Tấn Lực, Founder Web Mới với nhiều năm kinh nghiệm trong lĩnh vực phát triển website, SEO và chia sẻ kiến thức công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Toán tử trong MySQL
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !