SQL การใช้งาน BETWEEN Operator

BETWEEN operator ใน SQL ใช้เพื่อกรองข้อมูลภายในช่วงของค่าที่กำหนด โดยสามารถนำไปใช้ได้กับข้อมูลตัวเลข (numeric), วันที่ (date), หรือแม้กระทั่งข้อความ (text) ที่เรียงตามลำดับตัวอักษร การใช้งาน BETWEEN จะรวมค่าที่อยู่ตรงขอบเขตทั้งสองด้านด้วย (inclusive) กล่าวคือ ค่าต่ำสุดและค่าสูงสุดที่กำหนดจะถูกนับรวมอยู่ด้วย

สร้างตารางข้อมูลตัวอย่าง

SQL
CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    employee_name VARCHAR(50),
    hire_date DATE,
    salary DECIMAL(10, 2),
    department VARCHAR(50)
);

INSERT INTO employees (employee_id, employee_name, hire_date, salary, department) VALUES
(1, 'Alice', '2020-03-15', 50000, 'Marketing'),
(2, 'Bob', '2018-07-10', 60000, 'Sales'),
(3, 'Charlie', '2019-01-01', 70000, 'IT'),
(4, 'David', '2021-06-01', 40000, 'HR'),
(5, 'Eve', '2022-08-20', 55000, 'Marketing'),
(6, 'Frank', '2020-11-30', 48000, 'IT');

การใช้ BETWEEN กับตัวเลข (Numeric Data)

เราสามารถใช้ BETWEEN เพื่อค้นหาพนักงานที่มีเงินเดือนอยู่ในช่วงที่กำหนด เช่น ค้นหาพนักงานที่มีเงินเดือนระหว่าง 45,000 ถึง 60,000

SQL
SELECT employee_name, salary
FROM employees
WHERE salary BETWEEN 45000 AND 60000;

ในตัวอย่างนี้ เราใช้ BETWEEN 45000 AND 60000 เพื่อตรวจสอบพนักงานที่มีเงินเดือนอยู่ระหว่าง 45,000 ถึง 60,000 โดยที่ค่าทั้งสองขอบเขตถูกนับรวมด้วย

ผลลัพธ์

การใช้ BETWEEN กับวันที่ (Date Data)

เราสามารถใช้ BETWEEN กับวันที่เพื่อค้นหาข้อมูลพนักงานที่ถูกจ้างงานในช่วงเวลาที่กำหนด เช่น พนักงานที่ถูกจ้างระหว่างวันที่ 1 มกราคม 2020 ถึง 31 ธันวาคม 2021

SQL
SELECT employee_name, hire_date
FROM employees
WHERE hire_date BETWEEN '2020-01-01' AND '2021-12-31';

ในตัวอย่างนี้เราใช้ BETWEEN '2020-01-01' AND '2021-12-31' เพื่อตรวจสอบพนักงานที่ถูกจ้างในช่วงวันที่ดังกล่าว ซึ่งผลลัพธ์จะรวมวันที่ 1 มกราคม 2020 และ 31 ธันวาคม 2021 ด้วย

ผลลัพธ์

การใช้ BETWEEN กับข้อความ (Text Data)

การใช้ BETWEEN กับข้อความจะพิจารณาการเรียงลำดับตามลำดับตัวอักษร ASCII ตัวอย่างต่อไปนี้เป็นการค้นหาชื่อพนักงานที่อยู่ในช่วงตัวอักษร A ถึง E

SQL
SELECT employee_name
FROM employees
WHERE employee_name BETWEEN 'A' AND 'E';

การใช้ BETWEEN 'A' AND 'E' จะคืนค่าชื่อพนักงานที่ขึ้นต้นด้วยตัวอักษรที่อยู่ระหว่าง ‘A’ ถึง ‘E’ ตามลำดับตัวอักษร

ผลลัพธ์

การใช้ NOT BETWEEN

นอกจากนี้เรายังสามารถใช้ NOT BETWEEN เพื่อกรองข้อมูลที่อยู่นอกช่วงที่กำหนด เช่น ต้องการค้นหาพนักงานที่มีเงินเดือนน้อยกว่า 45,000 หรือมากกว่า 60,000

SQL
SELECT employee_name, salary
FROM employees
WHERE salary NOT BETWEEN 45000 AND 60000;

ในตัวอย่างนี้ เราใช้ NOT BETWEEN เพื่อกรองพนักงานที่มีเงินเดือนอยู่นอกช่วงระหว่าง 45,000 ถึง 60,000

ผลลัพธ์

สรุป

  • BETWEEN ใช้ในการกรองข้อมูลภายในช่วงที่กำหนด (รวมค่าขอบเขตทั้งสองด้าน)
  • สามารถใช้ได้กับข้อมูลตัวเลข, วันที่, และข้อความ
  • NOT BETWEEN ใช้เพื่อกรองข้อมูลที่อยู่นอกช่วง

การประยุกต์ใช้งาน BETWEEN ช่วยให้เราสามารถกรองข้อมูลได้อย่างมีประสิทธิภาพขึ้นเมื่อเราต้องการจำกัดผลลัพธ์ในช่วงที่แน่นอน

แชร์เรื่องนี้