Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีค้นหาข้อมูลระหว่างคอลัมน์สองคอลัมน์ใน MySQL ด้วย BETWEEN

ใช้ 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 แทน