การดึงข้อมูลในช่วงค่าโดยไม่ใช้ BETWEEN ใช้ AND แทน
คำสั่ง BETWEEN สามารถแทนที่ได้ด้วยการใช้ AND รวมเงื่อนไข >= และ <=
รูปแบบเทียบเท่า
-- ใช้ BETWEEN
WHERE column BETWEEN low_value AND high_value
-- ใช้ AND (เทียบเท่า)
WHERE column >= low_value AND column <= high_value
ตัวอย่าง: หาตัวเลขระหว่าง 15 ถึง 80
1. สร้างตารางและเพิ่มข้อมูล
CREATE TABLE DemoTable (Number INT);
INSERT INTO DemoTable VALUES (10), (20), (60), (100), (90), (85);
2. ดูข้อมูลทั้งหมด
SELECT * FROM DemoTable;
ผลลัพธ์: 10, 20, 60, 100, 90, 85
3. ใช้ AND แทน BETWEEN
SELECT * FROM DemoTable WHERE 15 <= Number AND Number <= 80;
ผลลัพธ์:
+--------+
| Number |
+--------+
| 20 |
| 60 |
+--------+
ความแตกต่างเล็กน้อย: BETWEEN vs AND
| ลักษณะ | BETWEEN | AND (>= & <=) |
|---|---|---|
| รวมขอบเขต | รวมทั้งสองข้าง (Inclusive) | รวมทั้งสองข้าง (Inclusive) |
| NULL handling | NULL BETWEEN ... = UNKNOWN | NULL >= ... = UNKNOWN |
| ลำดับค่า | low ต้อง <= high | เขียนได้สลับกัน แต่ Logic ผิด |
| ความชัดเจน | อ่านง่ายกว่า | ยืดหยุ่นกว่า (เช่น > และ <=) |