โอเปอเรเตอร์ OR ใน SQL เป็นหนึ่งใน operator ที่ใช้ในการกรองข้อมูล โดยจะใช้เมื่อเราต้องการเลือกข้อมูลที่เป็นจริง (TRUE) เมื่อเงื่อนไขใดเงื่อนไขหนึ่งหรือทั้งสองเงื่อนไขเป็นจริง
รูปแบบการใช้งานทั่วไปของ OR Operator
รูปแบบการใช้งานเป็นดังนี้
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2;
โอเปอเรเตอร์ OR จะทำให้เงื่อนไขใน WHERE statement คืนค่าจริงหากหนึ่งในเงื่อนไขที่กำหนดเป็นจริง
สร้างตารางข้อมูลตัวอย่าง
เราจะใช้ตารางชื่อ Customers เป็นตัวอย่าง
สร้างตารางด้วยคำสั่งนี้
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
Country VARCHAR(50)
);แทรกข้อมูลในตารางด้วยคำสั่งนี้
INSERT INTO Customers (CustomerID, FirstName, LastName, Country)
VALUES
(1, 'John', 'Doe', 'USA'),
(2, 'Jane', 'Smith', 'Canada'),
(3, 'Alice', 'Johnson', 'UK'),
(4, 'Bob', 'Brown', 'USA');เราจะมีข้อมูลตัวอย่างดังนี้

ถ้าเราต้องการดึงข้อมูลลูกค้าที่อยู่ใน USA หรือ UK สามารถเขียนคำสั่ง SQL ดังนี้
SELECT *
FROM Customers
WHERE Country = 'USA' OR Country = 'UK';ผลลัพธ์ที่ได้

การใช้งานร่วมกับ AND
OR สามารถใช้ร่วมกับ AND ได้ เช่น ต้องการดึงข้อมูลลูกค้าที่อยู่ใน USA และมีชื่อ “John” หรืออยู่ใน UK สามารถเขียนคำสั่ง SQL ดังนี้
SELECT *
FROM Customers
WHERE (Country = 'USA' AND FirstName = 'John') OR Country = 'UK';ผลลัพธ์ที่ได้

การใช้งานหลายเงื่อนไข
สามารถใช้งาน OR หลายเงื่อนไขได้ เช่น ต้องการดึงข้อมูลลูกค้าที่อยู่ใน USA, UK หรือ Canada สามารถเขียนคำสั่ง SQL ดังนี้
SELECT *
FROM Customers
WHERE Country = 'USA' OR Country = 'UK' OR Country = 'Canada';ผลลัพธ์ที่ได้

การใช้งานในเงื่อนไขการกรองค่าตัวเลข
สามารถใช้ OR กับค่าตัวเลขได้ เช่น ต้องการเลือกข้อมูลสินค้าที่มีราคามากกว่า 100 หรือมีจำนวนสต็อกน้อยกว่า 50
SELECT *
FROM Products
WHERE Price > 100 OR Stock < 50;การใช้งานร่วมกับ NULL
เราสามารถใช้ OR เพื่อกรองข้อมูลที่มีค่า NULL ได้ เช่น ต้องการเลือกข้อมูลลูกค้าที่อยู่ใน USA หรือยังไม่ได้ระบุประเทศ (Country = NULL)
SELECT *
FROM Customers
WHERE Country = 'USA' OR Country IS NULL;