ใช้ BETWEEN ... AND ... ร่วม NOT IN (start, end) เพื่อตัดจุดเริ่มต้นและจุดสิ้นสุดออก
ไวยากรณ์
SELECT * FROM yourTable WHERE yourColumn BETWEEN startVal AND endVal AND yourColumn NOT IN (startVal, endVal);
ตัวอย่างการใช้งาน
สร้างตาราง BetweenWithoutEndPoints:
mysql> CREATE TABLE BetweenWithoutEndPoints (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Name VARCHAR(20),
-> Age INT,
-> PRIMARY KEY(Id)
-> );
เพิ่มข้อมูล 9 แถว (Id 1-9):
mysql> INSERT INTO BetweenWithoutEndPoints(Name, Age) VALUES
-> ('Mike',23),('Larry',25),('David',28),('Sam',26),('Carol',21),('John',29),('James',20),('Robert',26),('Michael',30);
ข้อมูลทั้งหมด
+----+---------+------+ | Id | Name | Age | +----+---------+------+ | 1 | Mike | 23 | | 2 | Larry | 25 | | 3 | David | 28 | | 4 | Sam | 26 | | 5 | Carol | 21 | | 6 | John | 29 | | 7 | James | 20 | | 8 | Robert | 26 | | 9 | Michael | 30 | +----+---------+------+
คำสั่ง BETWEEN 3 ถึง 8 แต่ตัด 3 และ 8 ออก
mysql> SELECT * FROM BetweenWithoutEndPoints
-> WHERE Id BETWEEN 3 AND 8 AND Id NOT IN (3, 8);
ผลลัพธ์ (เหลือ Id 4,5,6,7)
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 4 | Sam | 26 | | 5 | Carol | 21 | | 6 | John | 29 | | 7 | James | 20 | +----+-------+------+