คีย์เวิร์ด SQL BETWEEN ดึงค่าที่อยู่ในช่วงที่กำหนด ใช้บ่อยกับช่วงวันที่หรือตัวเลข ใช้ใน WHERE clauses ไวยากรณ์: "BETWEEN min AND max;"
บ่อยครั้งที่ต้องการดึงข้อมูลที่อยู่ระหว่าง 2 ค่า ใช้ BETWEEN operator ได้
คีย์เวิร์ด SQL BETWEEN ให้คุณกำหนดช่วง (range) สำหรับคิวรี่ และดึงค่าทั้งหมดในช่วงนั้น เช่น มีฐานข้อมูลเงินเดือนพนักงาน ใช้ BETWEEN หาพนักงานที่เงินเดือนระหว่าง $50,000 - $60,000
ในบทช่วยสอนนี้ เราจะดูวิธีใช้ BETWEEN ใน SQL และการประยุกต์ใช้จริง
คีย์เวิร์ด SQL BETWEEN
คีย์เวิร์ด SQL BETWEEN ให้เลือกค่าในช่วงเฉพาะ ระบุในส่วน WHERE ของคำสั่ง SQL ต้องใช้คีย์เวิร์ด AND แยกค่าต่ำสุดและสูงสุด
ไวยากรณ์เงื่อนไข SQL BETWEEN:
SELECT column_name FROM table_name WHERE column_name BETWEEN minimum_value AND maximum_value;
เห็นได้ว่า BETWEEN มาหลัง WHERE ใช้ AND แยกค่าต่ำสุดและสูงสุด
สามารถดึงค่าระหว่าง 2 วันที่หรือ 2 ตัวเลขด้วย BETWEEN เช่น ต้องการทราบว่าใครถูกจ้างระหว่าง 2 วันที่ ทำได้ด้วย BETWEEN
BETWEEN ทำงานกับสตริง (strings) ได้ด้วย ในกรณีนี้ BETWEEN หาสตริงที่อยู่ระหว่างการเปรียบเทียบ เช่น หานักเรียนที่เกรดอยู่ระหว่าง A ถึง C
คีย์เวิร์ดนี้ใช้ได้กับ SELECT, INSERT, UPDATE, และ DELETE statements
ตัวอย่าง SQL BETWEEN
พิจารณาตารางพนักงานต่อไปนี้:
| name | salary |
| Geoff | 38000 |
| Mike | 32000 |
| Emma | 50000 |
| Jonah | 50000 |
| Luke | 32000 |
| Alexis | 33000 |
| Hannah | 30000 |
ตารางมี 2 คอลัมน์ 7 แถว สร้างด้วย SQL CREATE TABLE และ SQL INSERT
สมมติต้องการชื่อและเงินเดือนพนักงานที่ได้รับระหว่าง $35,000 - $55,000 ต่อปี ใช้คิวรี่:
SELECT name, salary FROM employees WHERE salary BETWEEN 35000 AND 55000;
ผลลัพธ์:
| name | salary |
| Geoff | 38000 |
| Mike | 32000 |
| Emma | 50000 |
| Jonah | 50000 |
(4 แถว)
ยังสามารถใช้ BETWEEN ค้นหาข้อมูลระหว่างวันที่ได้
สมมติต้องการชื่อและวันเข้าทำงานพนักงานที่เข้าระหว่าง 1 ม.ค. 2552 ถึง 31 ธ.ค. 2554 ใช้ BETWEEN statement:
SELECT name, hired_date FROM employees WHERE hired_date BETWEEN CAST('2009-01-01' AS DATE) AND CAST('2011-12-31' AS DATE);
ผลลัพธ์:
| name | hire date |
| Luke | 2009-12-03 |
| Emma | 2010-03-19 |
| Mike | 2010-03-19 |
| Hannah | 2011-09-30 |
| Jonah | 2010-07-23 |
(4 แถว)
ตัวอย่าง BETWEEN กับสตริง: ต้องการชื่อพนักงานที่ขึ้นต้นด้วยตัวอักษรระหว่าง A ถึง F ในอักษรอังกฤษ ใช้ BETWEEN:
SELECT name FROM employees WHERE name BETWEEN 'A' AND 'F';
ผลลัพธ์:
| name |
| Emma |
| Alexis |
(2 แถว)
สรุป
ออปอเรเตอร์ SQL BETWEEN ดึงเรคอร์ดที่ค่าคอลัมน์อยู่ในช่วงเฉพาะ ใช้ได้กับสตริง วันที่ และตัวเลข
ท้าทาย: เขียนคิวรี่ดึง ID พนักงานในช่วง 300-400 ตารางชื่อ "employees" คอลัมน์ ID ชื่อ "id"
อยากเรียนรู้ SQL เพิ่มเติม? ดูคู่มือ How to Learn SQL มีรายการหลักสูตรและแหล่งเรียนรู้ชั้นนำ