ใช้ BETWEEN ตรวจสอบค่าอยู่ระหว่างคอลัมน์สองคอลัมน์
ออปอเรเตอร์ BETWEEN สามารถใช้ตรวจสอบว่าค่าคงที่ (หรือคอลัมน์อื่น) อยู่ในช่วงระหว่างคอลัมน์ A และคอลัมน์ B ได้ โดยเขียน value BETWEEN col1 AND col2
ตัวอย่างสร้างตารางและข้อมูล
CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Score1 INT,
Score2 INT
);
INSERT INTO DemoTable (Score1, Score2) VALUES
(45, 65), (450, 680), (800, 900);
ข้อมูลในตาราง
+----+--------+--------+ | Id | Score1 | Score2 | +----+--------+--------+ | 1 | 45 | 65 | | 2 | 450 | 680 | | 3 | 800 | 900 | +----+--------+--------+
คำสั่งค้นหาแถวที่ 850 อยู่ระหว่าง Score1 และ Score2
SELECT * FROM DemoTable WHERE 850 BETWEEN Score1 AND Score2;
ผลลัพธ์
+----+--------+--------+ | Id | Score1 | Score2 | +----+--------+--------+ | 3 | 800 | 900 | +----+--------+--------+
คำอธิบาย: 850 BETWEEN Score1 AND Score2 เทียบเท่ากับ Score1 <= 850 AND Score2 >= 850 (รวมขอบเขต)
ประยุกต์ใช้:
- ตรวจสอบ IP Address อยู่ในช่วง:
WHERE ip_int BETWEEN start_ip AND end_ip - ตรวจสอบวันที่อยู่ในช่วง:
WHERE '2019-06-15' BETWEEN start_date AND end_date - คอลัมน์ทั้งสองต้องเป็นชนิดข้อมูลที่เปรียบเทียบได้ (Numeric, Date, String)
⚠ ข้อควรระวัง: BETWEEN รวมค่าขอบเขต (Inclusive) หากต้องการไม่รวมขอบเขต ใช้ col1 < value AND col2 > value แทน