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

MySQL BETWEEN โดยไม่มีจุดปลาย?


หากคุณไม่ต้องการรวมค่าสิ้นสุดไว้ระหว่างนั้น ให้ใช้ไวยากรณ์ต่อไปนี้ -

เลือก * จาก yourTableName โดยที่ yourColumnName BETWEEN yourStartingValue และ yourEndingValue และ yourColumnName ไม่อยู่ใน (yourEndingValue );

เพื่อทำความเข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง BetweenWithoutEndPoints -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> Age int, -> PRIMARY KEY(Id) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ ( 0.54 วินาที)

ตอนนี้ คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่ง insert แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า BetweenWithoutEndPoints(Name,Age)('Mike',23);Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงใน BetweenWithoutEndPoints(Name,Age) values('Larry',25);Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงใน BetweenWithoutEndPoints(Name,Age) values('David',28);Query OK, 1 แถวที่ได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงใน BetweenWithoutEndPoints(Name,Age) values('Sam',26);Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงใน BetweenWithoutEndPoints(Name,Age) values('Carol',21);Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงใน BetweenWithoutEndPoints(Name,Age) values('John',29);Query OK, 1 แถวที่ได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงใน BetweenWithoutEndPoints(Name,Age) values('James',20);Query OK, 1 แถวที่ได้รับผลกระทบ (0.41 วินาที) mysql> แทรกลงในค่า BetweenWithoutEndPoints (ชื่อ, อายุ) ('Robert', 26); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงใน BetweenWithoutEndPoints (ชื่อ, อายุ) ค่า ('Michael' ,30);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.16 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก BetweenWithoutEndPoints;

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+---------+------+| รหัส | ชื่อ | อายุ |+----+---------+------+| 1 | ไมค์ | 23 || 2 | แลร์รี่ | 25 || 3 | เดวิด | 28 || 4 | แซม | 26 || 5 | แครอล | 21 || 6 | จอห์น | 29 || 7 | เจมส์ | 20 || 8 | โรเบิร์ต | 26 || 9 | ไมเคิล | 30 |+----+---------+------+9 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามของ MySQL ระหว่างโดยไม่มีจุดเริ่มต้นและจุดสิ้นสุด แบบสอบถามด้านล่างไม่รวม 3 และ 8:

mysql> เลือก *จาก BetweenWithoutEndPoints -> โดยที่ Id ระหว่าง 3 ถึง 8 และ Id ไม่ได้อยู่ใน (3, 8);

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+---------+------+| รหัส | ชื่อ | อายุ |+----+-------+------+| 4 | แซม | 26 || 5 | แครอล | 21 || 6 | จอห์น | 29 || 7 | เจมส์ | 20 |+----+-------+------+4 แถวในชุด (0.04 วินาที)

หากคุณไม่ต้องการรวมเฉพาะจุดสิ้นสุด ให้ใช้แบบสอบถามด้านล่าง:

mysql> เลือก *จาก BetweenWithoutEndPoints-> โดยที่ Id ระหว่าง 3 ถึง 8 และ Id ไม่ได้อยู่ใน (8)

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+---------+------+| รหัส | ชื่อ | อายุ |+----+-------+------+| 3 | เดวิด | 28 || 4 | แซม | 26 || 5 | แครอล | 21 || 6 | จอห์น | 29 || 7 | เจมส์ | 20 |+----+-------+------+5 แถวในชุด (0.03 วินาที)