1. Giới thiệu
SQL Operators là các toán tử được sử dụng trong SQL để thực hiện các phép toán trên dữ liệu trong cơ sở dữ liệu. Chúng bao gồm các phép so sánh, toán học, logic, và các phép toán trên chuỗi hoặc NULL. Các toán tử này đóng vai trò quan trọng trong việc xây dựng các câu truy vấn SQL để thao tác, so sánh, và lọc dữ liệu.
Bài viết này sẽ giúp bạn hiểu rõ các nhóm SQL Operators phổ biến, cú pháp và ví dụ minh họa từ bảng dữ liệu giả định.
2. Các loại SQL Operators
SQL Operators có thể được chia thành các nhóm chính sau:
- Toán tử số học (Arithmetic Operators): Thực hiện các phép tính trên các giá trị số.
- Toán tử so sánh (Comparison Operators): So sánh hai giá trị với nhau.
- Toán tử logic (Logical Operators): Kết hợp các điều kiện logic.
- Toán tử chuỗi (String Operators): Thao tác trên chuỗi ký tự.
- Toán tử NULL (Null Operators): Kiểm tra các giá trị
NULL.
3. Toán tử số học (Arithmetic Operators)
Các toán tử số học trong SQL được sử dụng để thực hiện các phép toán như cộng, trừ, nhân, chia trên các giá trị số.
Các toán tử số học:
| Toán tử | Mô tả |
|---|---|
+ | Cộng hai giá trị |
- | Trừ hai giá trị |
* | Nhân hai giá trị |
/ | Chia hai giá trị |
% | Chia lấy dư |
Ví dụ:
Giả sử chúng ta có bảng employees với dữ liệu sau:
| employee_id | first_name | last_name | salary | bonus |
|---|---|---|---|---|
| 1 | John | Doe | 1500000 | 5000 |
| 2 | Jane | Smith | 1700000 | NULL |
| 3 | Bob | Johnson | 1300000 | 3000 |
Ví dụ 1: Cộng lương và thưởng để tính tổng thu nhập
SELECT first_name, last_name, salary + IFNULL(bonus, 0) AS total_income
FROM employees;Kết quả:
| first_name | last_name | total_income |
|---|---|---|
| John | Doe | 1505000 |
| Jane | Smith | 1700000 |
| Bob | Johnson | 1303000 |
4. Toán tử so sánh (Comparison Operators)
Các toán tử so sánh trong SQL được sử dụng để so sánh hai giá trị và trả về kết quả đúng hoặc sai (TRUE/FALSE).
Các toán tử so sánh:
| Toán tử | Mô tả |
|---|---|
= | Bằng |
<> | Không bằng (hoặc !=) |
> | Lớn hơn |
< | Nhỏ hơn |
>= | Lớn hơn hoặc bằng |
<= | Nhỏ hơn hoặc bằng |
BETWEEN | Nằm trong khoảng |
LIKE | Khớp với mẫu chuỗi |
IN | Kiểm tra xem có thuộc tập giá trị |
Ví dụ:
Ví dụ 2: Tìm tất cả nhân viên có lương lớn hơn 1,500,000
SELECT first_name, last_name, salary
FROM employees
WHERE salary > 1500000;Kết quả:
| first_name | last_name | salary |
|---|---|---|
| Jane | Smith | 1700000 |
Ví dụ 3: Tìm tất cả nhân viên có lương nằm trong khoảng từ 1,300,000 đến 1,700,000
SELECT first_name, last_name, salary
FROM employees
WHERE salary BETWEEN 1300000 AND 1700000;Kết quả:
| first_name | last_name | salary |
|---|---|---|
| John | Doe | 1500000 |
| Bob | Johnson | 1300000 |
Ví dụ 4: Sử dụng LIKE để tìm các nhân viên có họ bắt đầu bằng 'J'
SELECT first_name, last_name
FROM employees
WHERE last_name LIKE 'J%';Kết quả:
| first_name | last_name |
|---|---|
| John | Doe |
| Bob | Johnson |
5. Toán tử logic (Logical Operators)
Các toán tử logic trong SQL được sử dụng để kết hợp nhiều điều kiện.
Các toán tử logic:
| Toán tử | Mô tả |
|---|---|
AND | Kết hợp hai điều kiện và trả về TRUE nếu cả hai điều kiện đúng |
OR | Kết hợp hai điều kiện và trả về TRUE nếu một trong hai điều kiện đúng |
NOT | Đảo ngược kết quả của điều kiện |
Ví dụ:
Ví dụ 5: Tìm tất cả nhân viên trong phòng "Sales" hoặc có lương lớn hơn 1,600,000
SELECT first_name, last_name, salary
FROM employees
WHERE department = 'Sales' OR salary > 1600000;Kết quả:
| first_name | last_name | salary |
|---|---|---|
| John | Doe | 1500000 |
| Jane | Smith | 1700000 |
| Bob | Johnson | 1300000 |
Ví dụ 6: Tìm tất cả nhân viên trong phòng "Sales" và có lương lớn hơn 1,400,000
SELECT first_name, last_name, salary
FROM employees
WHERE department = 'Sales' AND salary > 1400000;Kết quả:
| first_name | last_name | salary |
|---|---|---|
| John | Doe | 1500000 |
6. Toán tử chuỗi (String Operators)
SQL cung cấp một số toán tử để làm việc với chuỗi.
Các toán tử chuỗi:
| Toán tử | Mô tả |
|---|---|
+ | Kết hợp hai chuỗi (trong một số hệ quản trị cơ sở dữ liệu) |
| ` |
Ví dụ:
Ví dụ 7: Nối chuỗi để tạo tên đầy đủ của nhân viên
SELECT first_name || ' ' || last_name AS full_name
FROM employees;Kết quả:
| full_name |
|---|
| John Doe |
| Jane Smith |
| Bob Johnson |
7. Toán tử NULL (Null Operators)
SQL cung cấp các toán tử để kiểm tra và xử lý các giá trị NULL.
Các toán tử NULL:
| Toán tử | Mô tả |
|---|---|
IS NULL | Kiểm tra nếu giá trị là NULL |
IS NOT NULL | Kiểm tra nếu giá trị không phải là NULL |
Ví dụ:
Ví dụ 8: Tìm tất cả nhân viên có giá trị thưởng là NULL
SELECT first_name, last_name
FROM employees
WHERE bonus IS NULL;Kết quả:
| first_name | last_name |
|---|---|
| Jane | Smith |
Ví dụ 9: Tìm tất cả nhân viên có giá trị thưởng không phải NULL
SELECT first_name, last_name
FROM employees
WHERE bonus IS NOT NULL;Kết quả:
| first_name | last_name |
|---|---|
| John | Doe |
| Bob | Johnson |
8. Các toán tử khác
SQL còn cung cấp một số toán tử đặc biệt khác như:
EXISTS: Kiểm tra xem một truy vấn con có trả về kết quả hay không.BETWEEN: Kiểm tra xem giá trị có nằm trong một khoảng giá trị hay không.IN: Kiểm tra xem giá trị có thuộc một tập hợp giá trị nào đó hay không.ANYvàALL: So sánh giá trị với bất kỳ hoặc tất cả giá trị trong một tập hợp con.
Ví dụ:
Ví dụ 10: Sử dụng IN để tìm nhân viên có lương thuộc một trong các giá trị 1,300,000 hoặc 1,700,000
SELECT first_name, last_name, salary
FROM employees
WHERE salary IN (1300000, 1700000);Kết quả:
| first_name | last_name | salary |
|---|---|---|
| Jane | Smith | 1700000 |
| Bob | Johnson | 1300000 |
Kết luận
SQL Operators là những công cụ mạnh mẽ trong SQL, giúp bạn thực hiện các phép toán, so sánh, và logic phức tạp để truy vấn dữ liệu. Từ việc tính toán số học, so sánh, đến thao tác chuỗi và kiểm tra giá trị NULL, các toán tử này giúp bạn xây dựng các truy vấn chính xác và tối ưu hơn.
Hãy thử áp dụng các ví dụ này vào các bài tập và dự án thực tế trên CodeTutHub để hiểu rõ hơn về cách sử dụng SQL Operators trong cơ sở dữ liệu của bạn!








