ความหมายของ <>
สัญลักษณ์ <> ใน MySQL หมายถึง Not Equal (ไม่เท่ากับ) เหมือนกับ != ทั้งคู่คืนค่า Boolean (1 = true, 0 = false)
เปรียบเทียบ 2 รูปแบบ
SELECT 3 <> 5; -- ผลลัพธ์: 1
SELECT 3 != 5; -- ผลลัพธ์: 1
SELECT 5 <> 5; -- ผลลัพธ์: 0
ความแตกต่างสำคัญ
| คุณสมบัติ | <> | != |
|---|---|---|
| มาตรฐาน | ANSI SQL (มาตรฐานสากล) | MySQL Extension / พบในหลายภาษา |
| ความเข้ากันได้ | ทุกฐานข้อมูล (PostgreSQL, Oracle, SQL Server, SQLite) | ส่วนใหญ่รองรับ แต่ไม่ใช่มาตรฐาน |
| แนะนำใช้ | ✅ ใช่ | ได้ แต่ไม่ควร |
ตัวอย่างใช้กับตาราง
สร้างตารางนักเรียน
CREATE TABLE NotEqualOperator (
StudentId INT,
StudentName VARCHAR(100),
StudentSection VARCHAR(10)
);
INSERT INTO NotEqualOperator VALUES
(1, 'John', 'A'), (2, 'Carol', 'B'), (3, 'Sam', 'A'),
(4, 'Mike', 'B'), (5, 'Bob', 'B'), (6, 'David', 'B'), (7, 'Ramit', 'A');
คิวรี่หานักเรียนที่ไม่ได้อยู่ใน Section A
SELECT * FROM NotEqualOperator WHERE StudentSection <> 'A';
ผลลัพธ์
+-----------+-------------+----------------+
| StudentId | StudentName | StudentSection |
+-----------+-------------+----------------+
| 2 | Carol | B |
| 4 | Mike | B |
| 5 | Bob | B |
| 6 | David | B |
+-----------+-------------+----------------+
จัดการ NULL
-- NULL <> 'A' จะเป็น UNKNOWN ไม่ใช่ TRUE
-- ต้องเพิ่มเงื่อนไข IS NULL ถ้าต้องการรวม NULL
SELECT * FROM NotEqualOperator WHERE StudentSection <> 'A' OR StudentSection IS NULL;