Toán tử SQL NOT EQUAL: Hướng dẫn cho người mới bắt đầu
Khai mở sức mạnh của SQL NOT EQUAL với hướng dẫn chuyên sâu của chúng tôi. Học cách tinh chỉnh truy vấn dữ liệu với ví dụ thực hành và mẹo tối ưu để phân tích tốt hơn.
Trong thế giới SQL, hiểu rõ các toán tử so sánh là điều cốt yếu để thao tác và phân tích dữ liệu. Trong số đó, NOT EQUAL (<> hoặc !=) đóng vai trò quan trọng trong việc lọc dữ liệu không khớp với tiêu chí đã chỉ định. Hướng dẫn này nhằm làm sáng tỏ toán tử NOT EQUAL, giúp người mới bắt đầu nắm được ý nghĩa, cách áp dụng và những điểm cần lưu ý để truy vấn SQL hiệu quả.
Giới thiệu về các toán tử so sánh
Toán tử so sánh là nền tảng trong SQL, cho phép đánh giá dữ liệu theo các điều kiện cụ thể. Chúng bao gồm toán tử bằng (=), không bằng (<>, !=), lớn hơn (>) và nhỏ hơn (<), cùng các toán tử khác. Đáng chú ý, SQL cung cấp hai ký hiệu để biểu thị không bằng: <> và !=, cả hai đều có cùng mục đích nhưng <> là lựa chọn được ưu tiên để tuân thủ tiêu chuẩn ISO.
Khám phá toán tử SQL NOT EQUAL
Vì sao dùng NOT EQUAL?
Toán tử NOT EQUAL (<> hoặc !=) được dùng để truy vấn dữ liệu từ bảng không đáp ứng một điều kiện nhất định. Nó giúp loại trừ các dòng cụ thể khỏi kết quả, khiến việc phân tích dữ liệu chính xác và phù hợp hơn.
Cú pháp và cách dùng
Cú pháp sử dụng toán tử NOT EQUAL khá đơn giản, liên quan đến việc so sánh hai biểu thức để lọc dữ liệu không khớp. Nó có thể dùng kèm nhiều mệnh đề và điều kiện khác nhau như WHERE, JOIN và HAVING.
Mệnh đề WHERE
Có thể dùng để lọc các dòng mà giá trị của một cột không khớp với giá trị chỉ định. Ví dụ, để chọn sản phẩm trong cơ sở dữ liệu và loại trừ một ProductID cụ thể, bạn có thể dùng đoạn mã sau:
Có thể dùng trong mệnh đề ON để xác định điều kiện nối bảng.
SELECT e1.name, e2.name
FROM employees e1
JOIN employees e2
ON e1.manager_id != e2.employee_id;Được hỗ trợ bởi
Mệnh đề HAVING
Có thể dùng để lọc dữ liệu đã nhóm dựa trên các điều kiện tổng hợp.
SELECT department_id,COUNT(*)FROM employees
GROUPBY department_id
HAVINGCOUNT(*)!=5;Được hỗ trợ bởi
Các câu lệnh CASE
Có thể dùng cho logic điều kiện để trả về kết quả cụ thể khi điều kiện thỏa mãn.
SELECT name,CASEWHEN department_id !=10THEN'Other Department'ELSE'Department 10'ENDAS department_category
FROM employees;Được hỗ trợ bởi
Câu lệnh UPDATE
Có thể dùng trong mệnh đề WHERE để chỉ định các dòng cần cập nhật dựa trên điều kiện không bằng.
UPDATE employees
SET salary = salary *1.1WHERE job_id !='Manager';Được hỗ trợ bởi
DELETE statements
Có thể dùng trong mệnh đề WHERE để xác định các dòng cần xóa khi điều kiện đúng.
DELETEFROM employees
WHERE department_id !=10;Được hỗ trợ bởi
Ví dụ thực tiễn
Hãy đi sâu hơn vào cách áp dụng toán tử SQL NOT EQUAL với các ví dụ mở rộng thể hiện tính linh hoạt và sức mạnh của nó trong truy vấn cơ sở dữ liệu. Các ví dụ này sẽ minh họa cách sử dụng hiệu quả != và <> trong nhiều tình huống, nâng cao kỹ năng truy vấn SQL của bạn.
Ví dụ 1: Lọc bản ghi cụ thể
Giả sử một bảng cơ sở dữ liệu tên là Employees với các cột EmployeeID, Name và DepartmentID. Để loại trừ nhân viên thuộc một phòng ban cụ thể, ví dụ DepartmentID 3, bạn có thể dùng toán tử NOT EQUAL:
EmployeeID
Name
DepartmentID
1
Alice Johnson
1
2
Bob Smith
2
3
Carol White
3
4
David Green
2
5
Erin Black
4
SELECT EmployeeID, Name, DepartmentID
FROM Employees
WHERE DepartmentID !=3;Được hỗ trợ bởi
Truy vấn này trả về tất cả nhân viên không thuộc DepartmentID 3, hiệu quả loại trừ những người trong phòng ban đó.
EmployeeID
Name
DepartmentID
1
Alice Johnson
1
2
Bob Smith
2
4
David Green
2
5
Erin Black
4
Ví dụ 2: Kết hợp các điều kiện
Bây giờ, giả sử bạn muốn loại trừ nhân viên thuộc DepartmentID 3 và những người có tên bắt đầu bằng 'A'. Điều này cần kết hợp toán tử NOT EQUAL với các điều kiện khác bằng AND và LIKE:
SELECT EmployeeID, Name, DepartmentID
FROM Employees
WHERE DepartmentID <>3AND Name NOTLIKE'A%';Được hỗ trợ bởi
Truy vấn này minh họa cách dùng NOT EQUAL kết hợp với LIKE để khớp mẫu, loại trừ một nhóm nhân viên dựa trên tiêu chí phòng ban và tên.
EmployeeID
Name
DepartmentID
2
Bob Smith
2
4
David Green
2
5
Erin Black
4
Ví dụ 3: Xử lý giá trị NULL
Làm việc với giá trị NULL trong SQL cần chú ý đặc biệt vì NULL biểu thị giá trị không xác định. Để tìm nhân viên có ManagerID không xác định (tức là NULL), bạn có thể nghĩ đến việc dùng != hoặc <>. Tuy nhiên, cách đúng là dùng IS NOT NULL:
EmployeeID
Name
DepartmentID
ManagerID
1
Alice Johnson
1
NULL
2
Bob Smith
2
1
3
Carol White
3
1
4
David Green
2
2
5
Erin Black
4
3
Bảng Employees đã cập nhật
SELECT EmployeeID, Name
FROM Employees
WHERE ManagerID IS NOT NULL;Được hỗ trợ bởi
Truy vấn này lấy các nhân viên có ManagerID xác định, loại trừ những người có NULL ManagerID. Nó nhấn mạnh tầm quan trọng của việc hiểu cách SQL diễn giải giá trị NULL trong các phép so sánh.
EmployeeID
Name
2
Bob Smith
3
Carol White
4
David Green
5
Erin Black
Ví dụ 4: Dùng NOT EQUAL với tổng hợp
Giả sử bạn muốn phân tích dữ liệu bán hàng từ bảng Sales, loại trừ doanh số năm 2020. Kết hợp GROUP BY với NOT EQUAL cho phép bạn tổng hợp dữ liệu đồng thời lọc bỏ các năm cụ thể:
SaleID
SaleDate
Quantity
1
2019-05-01
2
2
2019-08-15
1
3
2020-04-20
3
4
2021-07-22
1
5
2021-11-05
2
6
2022-01-30
4
Bảng Sales
SELECTYEAR(SaleDate)AS SaleYear,COUNT(*)AS TotalSales
FROM Sales
GROUPBYYEAR(SaleDate)HAVINGYEAR(SaleDate)<>2020;Được hỗ trợ bởi
Truy vấn này tổng hợp doanh số theo năm và loại trừ tổng doanh số của năm 2020, cho thấy cách NOT EQUAL có thể dùng với hàm tổng hợp và GROUP BY để tinh chỉnh phân tích dữ liệu.
SaleYear
TotalSales
2019
2
2021
2
2022
1
Ví dụ 5: Tối ưu hiệu năng
Khi truy vấn tập dữ liệu lớn, hiệu năng có thể bị ảnh hưởng bởi cách bạn cấu trúc điều kiện NOT EQUAL. Giả sử bạn làm việc với bảng Products và muốn loại trừ các sản phẩm thuộc danh mục 5 và 7. Thay vì dùng NOT EQUAL nhiều lần, có thể hiệu quả hơn khi dùng NOT IN:
ProductID
Name
CategoryID
1
Wireless Mouse
1
2
Gaming Keyboard
5
3
USB-C Charging Cable
3
4
Bluetooth Speakers
7
5
Ergonomic Chair
2
6
LED Monitor
4
7
Smartwatch
5
8
Desk Lamp
6
9
Webcam
2
SELECT ProductID, Name
FROM Products
WHERE CategoryID NOTIN(5,7);Được hỗ trợ bởi
Truy vấn này ngắn gọn hơn và có thể hiệu quả hơn trên các tập dữ liệu lớn, minh họa một kỹ thuật tối ưu khi loại trừ nhiều giá trị cụ thể.
ProductID
Name
1
Wireless Mouse
3
USB-C Charging Cable
5
Ergonomic Chair
6
LED Monitor
8
Desk Lamp
9
Webcam
Qua các ví dụ này, bạn đã thấy tính linh hoạt và sức mạnh của toán tử SQL NOT EQUAL trong nhiều tình huống, từ loại trừ đơn giản đến truy vấn phức tạp liên quan đến tổng hợp và cân nhắc hiệu năng.
Khi thực hành các ví dụ này, hãy nhớ rằng lựa chọn giữa != và <> chủ yếu mang tính phong cách, nhưng sự nhất quán trong cách dùng sẽ giúp truy vấn SQL của bạn dễ đọc và bảo trì hơn.
Các lưu ý về hiệu năng
Mặc dù toán tử NOT EQUAL mạnh mẽ, việc sử dụng cần cân đối với yếu tố hiệu năng. Các phép so sánh bất đẳng thức đôi khi dẫn đến kế hoạch thực thi kém hiệu quả hơn, như quét toàn bộ bảng. Các lựa chọn thay thế như toán tử IN hoặc điều kiện bằng có lập chỉ mục có thể mang lại hiệu năng tốt hơn trong một số trường hợp.
Kết luận
Toán tử NOT EQUAL là công cụ nền tảng trong SQL để lọc dữ liệu. Bằng cách hiểu cách áp dụng và cân nhắc tác động đến hiệu năng, bạn có thể xây dựng các truy vấn hiệu quả và hiệu lực. Hãy nhớ, lựa chọn giữa <> và != nên nghiêng về <> để tuân thủ tiêu chuẩn ISO, giúp mã SQL của bạn vững chắc và có thể diễn giải phổ quát.
Là một nhà khoa học dữ liệu được chứng nhận, tôi đam mê tận dụng công nghệ tiên tiến để tạo ra các ứng dụng học máy đổi mới. Với nền tảng vững chắc về nhận dạng giọng nói, phân tích và báo cáo dữ liệu, MLOps, AI hội thoại và NLP, tôi đã rèn giũa kỹ năng phát triển các hệ thống thông minh có thể tạo ra tác động thực sự. Bên cạnh chuyên môn kỹ thuật, tôi cũng là một người truyền đạt tốt, có khả năng chắt lọc các khái niệm phức tạp thành ngôn ngữ rõ ràng, súc tích. Nhờ đó, tôi trở thành một blogger được nhiều người quan tâm trong lĩnh vực khoa học dữ liệu, chia sẻ góc nhìn và kinh nghiệm với cộng đồng các chuyên gia dữ liệu ngày càng lớn. Hiện tại, tôi tập trung vào sáng tạo và biên tập nội dung, làm việc với các mô hình ngôn ngữ lớn để phát triển nội dung mạnh mẽ và hấp dẫn, giúp doanh nghiệp và cá nhân tận dụng tối đa dữ liệu của mình.
Câu hỏi thường gặp về SQL NOT IN
SQL NOT EQUAL làm gì?⌄
Toán tử SQL NOT EQUAL (<> hoặc !=) lọc dữ liệu bằng cách loại trừ các dòng khớp với một điều kiện cụ thể. Nó thường được dùng để truy xuất dữ liệu không đáp ứng tiêu chí đã chỉ định trong truy vấn.
<> và != có giống nhau trong SQL không?⌄
Có, <> và != có cùng mục đích trong SQL, đều biểu thị bất đẳng thức. Tuy nhiên, <> được ưu tiên vì phù hợp với tiêu chuẩn ISO, giúp truy vấn dễ diễn giải hơn trên nhiều hệ thống.
Toán tử NOT EQUAL có xử lý giá trị NULL không?⌄
Không, toán tử NOT EQUAL không xử lý trực tiếp giá trị NULL. Để lọc bỏ NULL, bạn cần dùng điều kiện IS NOT NULL, vì NULL biểu thị giá trị không xác định trong SQL.
Hiệu năng khác nhau thế nào khi dùng NOT EQUAL trong truy vấn SQL?⌄
Việc dùng NOT EQUAL đôi khi có thể dẫn đến kế hoạch thực thi truy vấn kém hiệu quả hơn, như quét toàn bộ bảng. Để tối ưu hiệu năng, hãy cân nhắc các lựa chọn thay thế như toán tử IN hoặc các điều kiện bằng có lập chỉ mục khi phù hợp.
Tôi có thể kết hợp toán tử NOT EQUAL với các điều kiện SQL khác không?
⌄
Có, toán tử NOT EQUAL có thể kết hợp với các điều kiện khác bằng các toán tử logic như AND và OR, cũng như các hàm khớp mẫu như LIKE, để tạo các truy vấn phức tạp và chính xác hơn.
Đi kèm với các truy vấn luyện tập thực hành ở mọi bước, khóa học này dạy bạn mọi điều cần biết để phân tích dữ liệu bằng chính mã SQL của bạn ngay hôm nay!
Trong thế giới SQL, hiểu rõ các toán tử so sánh là điều cốt yếu để thao tác và phân tích dữ liệu. Trong số đó,
NOT EQUAL(<>hoặc!=) đóng vai trò quan trọng trong việc lọc dữ liệu không khớp với tiêu chí đã chỉ định. Hướng dẫn này nhằm làm sáng tỏ toán tửNOT EQUAL, giúp người mới bắt đầu nắm được ý nghĩa, cách áp dụng và những điểm cần lưu ý để truy vấn SQL hiệu quả.Giới thiệu về các toán tử so sánh
Toán tử so sánh là nền tảng trong SQL, cho phép đánh giá dữ liệu theo các điều kiện cụ thể. Chúng bao gồm toán tử bằng (
=), không bằng (<>,!=), lớn hơn (>) và nhỏ hơn (<), cùng các toán tử khác. Đáng chú ý, SQL cung cấp hai ký hiệu để biểu thị không bằng:<>và!=, cả hai đều có cùng mục đích nhưng<>là lựa chọn được ưu tiên để tuân thủ tiêu chuẩn ISO.Khám phá toán tử SQL NOT EQUAL
Vì sao dùng NOT EQUAL?
Toán tử NOT EQUAL (
<>hoặc!=) được dùng để truy vấn dữ liệu từ bảng không đáp ứng một điều kiện nhất định. Nó giúp loại trừ các dòng cụ thể khỏi kết quả, khiến việc phân tích dữ liệu chính xác và phù hợp hơn.Cú pháp và cách dùng
Cú pháp sử dụng toán tử NOT EQUAL khá đơn giản, liên quan đến việc so sánh hai biểu thức để lọc dữ liệu không khớp. Nó có thể dùng kèm nhiều mệnh đề và điều kiện khác nhau như
WHERE,JOINvàHAVING.Mệnh đề WHERE
Có thể dùng để lọc các dòng mà giá trị của một cột không khớp với giá trị chỉ định. Ví dụ, để chọn sản phẩm trong cơ sở dữ liệu và loại trừ một ProductID cụ thể, bạn có thể dùng đoạn mã sau:
Điều kiện JOIN
Có thể dùng trong mệnh đề
ONđể xác định điều kiện nối bảng.Mệnh đề HAVING
Có thể dùng để lọc dữ liệu đã nhóm dựa trên các điều kiện tổng hợp.
Các câu lệnh CASE
Có thể dùng cho logic điều kiện để trả về kết quả cụ thể khi điều kiện thỏa mãn.
Câu lệnh UPDATE
Có thể dùng trong mệnh đề
WHEREđể chỉ định các dòng cần cập nhật dựa trên điều kiện không bằng.DELETE statements
Có thể dùng trong mệnh đề
WHEREđể xác định các dòng cần xóa khi điều kiện đúng.Ví dụ thực tiễn
Hãy đi sâu hơn vào cách áp dụng toán tử SQL NOT EQUAL với các ví dụ mở rộng thể hiện tính linh hoạt và sức mạnh của nó trong truy vấn cơ sở dữ liệu. Các ví dụ này sẽ minh họa cách sử dụng hiệu quả != và <> trong nhiều tình huống, nâng cao kỹ năng truy vấn SQL của bạn.
Ví dụ 1: Lọc bản ghi cụ thể
Giả sử một bảng cơ sở dữ liệu tên là Employees với các cột
EmployeeID,NamevàDepartmentID. Để loại trừ nhân viên thuộc một phòng ban cụ thể, ví dụDepartmentID 3, bạn có thể dùng toán tửNOT EQUAL:EmployeeID
Name
DepartmentID
1
Alice Johnson
1
2
Bob Smith
2
3
Carol White
3
4
David Green
2
5
Erin Black
4
Truy vấn này trả về tất cả nhân viên không thuộc DepartmentID 3, hiệu quả loại trừ những người trong phòng ban đó.
EmployeeID
Name
DepartmentID
1
Alice Johnson
1
2
Bob Smith
2
4
David Green
2
5
Erin Black
4
Ví dụ 2: Kết hợp các điều kiện
Bây giờ, giả sử bạn muốn loại trừ nhân viên thuộc
DepartmentID 3và những người có tên bắt đầu bằng 'A'. Điều này cần kết hợp toán tửNOT EQUALvới các điều kiện khác bằngANDvàLIKE:Truy vấn này minh họa cách dùng
NOT EQUALkết hợp vớiLIKEđể khớp mẫu, loại trừ một nhóm nhân viên dựa trên tiêu chí phòng ban và tên.EmployeeID
Name
DepartmentID
2
Bob Smith
2
4
David Green
2
5
Erin Black
4
Ví dụ 3: Xử lý giá trị NULL
Làm việc với giá trị
NULLtrong SQL cần chú ý đặc biệt vìNULLbiểu thị giá trị không xác định. Để tìm nhân viên cóManagerIDkhông xác định (tức làNULL), bạn có thể nghĩ đến việc dùng!=hoặc<>. Tuy nhiên, cách đúng là dùngIS NOT NULL:EmployeeID
Name
DepartmentID
ManagerID
1
Alice Johnson
1
NULL
2
Bob Smith
2
1
3
Carol White
3
1
4
David Green
2
2
5
Erin Black
4
3
Bảng Employees đã cập nhật
Truy vấn này lấy các nhân viên có
ManagerIDxác định, loại trừ những người cóNULL ManagerID. Nó nhấn mạnh tầm quan trọng của việc hiểu cách SQL diễn giải giá trịNULLtrong các phép so sánh.EmployeeID
Name
2
Bob Smith
3
Carol White
4
David Green
5
Erin Black
Ví dụ 4: Dùng NOT EQUAL với tổng hợp
Giả sử bạn muốn phân tích dữ liệu bán hàng từ bảng Sales, loại trừ doanh số năm 2020. Kết hợp
GROUP BYvớiNOT EQUALcho phép bạn tổng hợp dữ liệu đồng thời lọc bỏ các năm cụ thể:SaleID
SaleDate
Quantity
1
2019-05-01
2
2
2019-08-15
1
3
2020-04-20
3
4
2021-07-22
1
5
2021-11-05
2
6
2022-01-30
4
Bảng Sales
Truy vấn này tổng hợp doanh số theo năm và loại trừ tổng doanh số của năm 2020, cho thấy cách
NOT EQUALcó thể dùng với hàm tổng hợp vàGROUP BYđể tinh chỉnh phân tích dữ liệu.SaleYear
TotalSales
2019
2
2021
2
2022
1
Ví dụ 5: Tối ưu hiệu năng
Khi truy vấn tập dữ liệu lớn, hiệu năng có thể bị ảnh hưởng bởi cách bạn cấu trúc điều kiện
NOT EQUAL. Giả sử bạn làm việc với bảngProductsvà muốn loại trừ các sản phẩm thuộc danh mục 5 và 7. Thay vì dùngNOT EQUALnhiều lần, có thể hiệu quả hơn khi dùngNOT IN:ProductID
Name
CategoryID
1
Wireless Mouse
1
2
Gaming Keyboard
5
3
USB-C Charging Cable
3
4
Bluetooth Speakers
7
5
Ergonomic Chair
2
6
LED Monitor
4
7
Smartwatch
5
8
Desk Lamp
6
9
Webcam
2
Truy vấn này ngắn gọn hơn và có thể hiệu quả hơn trên các tập dữ liệu lớn, minh họa một kỹ thuật tối ưu khi loại trừ nhiều giá trị cụ thể.
ProductID
Name
1
Wireless Mouse
3
USB-C Charging Cable
5
Ergonomic Chair
6
LED Monitor
8
Desk Lamp
9
Webcam
Qua các ví dụ này, bạn đã thấy tính linh hoạt và sức mạnh của toán tử
SQL NOT EQUALtrong nhiều tình huống, từ loại trừ đơn giản đến truy vấn phức tạp liên quan đến tổng hợp và cân nhắc hiệu năng.Khi thực hành các ví dụ này, hãy nhớ rằng lựa chọn giữa
!=và<>chủ yếu mang tính phong cách, nhưng sự nhất quán trong cách dùng sẽ giúp truy vấn SQL của bạn dễ đọc và bảo trì hơn.Các lưu ý về hiệu năng
Mặc dù toán tử
NOT EQUALmạnh mẽ, việc sử dụng cần cân đối với yếu tố hiệu năng. Các phép so sánh bất đẳng thức đôi khi dẫn đến kế hoạch thực thi kém hiệu quả hơn, như quét toàn bộ bảng. Các lựa chọn thay thế như toán tửINhoặc điều kiện bằng có lập chỉ mục có thể mang lại hiệu năng tốt hơn trong một số trường hợp.Kết luận
Toán tử
NOT EQUALlà công cụ nền tảng trong SQL để lọc dữ liệu. Bằng cách hiểu cách áp dụng và cân nhắc tác động đến hiệu năng, bạn có thể xây dựng các truy vấn hiệu quả và hiệu lực. Hãy nhớ, lựa chọn giữa<>và!=nên nghiêng về<>để tuân thủ tiêu chuẩn ISO, giúp mã SQL của bạn vững chắc và có thể diễn giải phổ quát.Để tìm hiểu thêm về toán tử SQL
NOT EQUALvà khám phá các kiến thức cơ bản về SQL, hãy xem SQL Basics Cheat Sheet và lộ trình kỹ năng SQL Fundamentals.