ไม่ค่อยมีเวลาที่คุณต้องการดึงข้อมูลทั้งหมดจากตารางที่กำหนด แต่คุณมักจะพบว่าตัวเองกำลังเรียกระเบียนที่ตรงกับเงื่อนไขเฉพาะหรือภายในช่วงที่กำหนด
ในโพสต์นี้ เราจะเรียนรู้วิธีใช้ตัวดำเนินการ BETWEEN ในฐานข้อมูล Oracle ซึ่งช่วยให้เราสามารถเลือกแถวที่มีค่าตรงกับช่วงที่ต้องการจากตารางฐานข้อมูล
Oracle BETWEEN โอเปอเรเตอร์
โอเปอเรเตอร์ BETWEEN ใน Oracle ช่วยให้เราสามารถระบุเงื่อนไขการค้นหาเมื่อใช้คำสั่ง DML เช่น SELECT, INSERT, UPDATE หรือ DELETE
เมื่อเราใช้ตัวดำเนินการ BETWEEN กับคำสั่ง SELECT เฉพาะแถวที่มีค่าอยู่ระหว่างช่วงที่ระบุเท่านั้นที่จะถูกเลือก
เราแสดงไวยากรณ์ของตัวดำเนินการ BETWEEN ดังที่แสดงต่อไปนี้:
การแสดงออก ระหว่าง lower_range และ upper_range;
นิพจน์ ในกรณีนี้ กำหนดนิพจน์เป้าหมายที่มีค่าช่วงที่จะทดสอบ
สมมติว่าเราต้องการดึงแถวทั้งหมดจากตารางของพนักงานที่มีเงินเดือนอยู่ในช่วงที่กำหนด ในกรณีนี้ คอลัมน์เงินเดือนจะเรียกว่านิพจน์
ต่อไปนี้เป็นไวยากรณ์หลอกสำหรับการเปรียบเทียบก่อนหน้า:
เลือก คอลัมน์ ที่ไหน เงินเดือน ระหว่าง ค่า_1 และ ค่า_2;พารามิเตอร์ lower_range และ upper_range ใช้เพื่อตั้งค่าต่ำสุดและสูงสุดที่จะรวมไว้ในช่วง
พารามิเตอร์ lower_range และ upper_range เชื่อมโยงโดยตัวดำเนินการ AND
เมื่อเราดำเนินการคำสั่ง ตัวดำเนินการ BETWEEN จะส่งกลับ TRUE สำหรับค่าใดๆ ที่มากกว่าหรือเท่ากับช่วงต่ำสุด และน้อยกว่าหรือเท่ากับช่วงบน
ในกรณีส่วนใหญ่ ตัวดำเนินการ BETWEEN ใช้กับคำสั่ง WHERE ซึ่งจะช่วยให้คุณสามารถแนะนำเงื่อนไขการค้นหาได้
Oracle BETWEEN Operator ตัวอย่าง
ในส่วนนี้ เราจะยกตัวอย่างการใช้ตัวดำเนินการ BETWEEN ในฐานข้อมูล Oracle
สมมติว่าเรามีตารางที่แสดง:
เลือก พนักงาน_ID , ชื่อจริง , อีเมล , เงินเดือน จาก พนักงาน;ตารางผลลัพธ์:
ตัวอย่างที่ 1: การทดสอบช่วงตัวเลขโดยใช้ตัวดำเนินการ BETWEEN
สมมติว่าเราต้องการกำหนดพนักงานทั้งหมดที่มีเงินเดือนตั้งแต่ 20,000 ถึง 50,000
เราสามารถดำเนินการคำสั่ง SELECT ด้วยตัวดำเนินการ BETWEEN ร่วมกับ WHERE clause ดังแสดงต่อไปนี้:
เลือก พนักงาน_ID , ชื่อจริง , อีเมล , เงินเดือนจาก พนักงาน
ที่ไหน เงินเดือน ระหว่าง 20,000 และ 50000 ;
ข้อความค้นหาก่อนหน้านี้ควรส่งคืนพนักงานที่มีเงินเดือนอยู่ในช่วงนั้นดังที่แสดงต่อไปนี้:
ที่นี่เรามีเพียงแถวเดียวที่ตรงกับช่วงเงินเดือนนั้น
ตัวอย่างที่ 2: การทดสอบช่วงวันที่โดยใช้ตัวดำเนินการ BETWEEN
เรายังสามารถใช้ตัวดำเนินการ BETWEEN เพื่อค้นหาระเบียนที่ตรงกับช่วงวันที่ที่ระบุ
ใช้ตารางต่อไปนี้เป็นตัวอย่าง:
เลือก ชื่อจริง , อีเมล , HIRE_DATE , เงินเดือนจาก พนักงาน;
สมมติว่าเราต้องการกำหนดพนักงานทั้งหมดที่มีวันที่จ้างงานอยู่ในช่วงที่กำหนด
เรายังสามารถจับคู่ตัวดำเนินการ BETWEEN กับส่วนคำสั่ง WHERE ดังที่แสดงต่อไปนี้:
เลือก ชื่อจริง , อีเมล , HIRE_DATE , เงินเดือนจาก พนักงาน
ที่ไหน HIRE_DATE ระหว่าง วันที่ '2006-01-01' และ วันที่ '2007-01-01' ;
ในกรณีนี้ เราทดสอบเงื่อนไขการค้นหาโดยค่าของคอลัมน์ Hire_date อยู่ระหว่าง 2006-01-01 ถึง 2007-01-01
สิ่งนี้ควรส่งคืนแถวที่ตรงกันดังที่แสดงต่อไปนี้:
สังเกตว่าค่าทั้งหมดอยู่ในช่วงของวันที่ระบุอย่างไร
ตัวอย่างที่ 3: การใช้ BETWEEN Operator กับ Order By Clause
Oracle ยังช่วยให้เราใช้ส่วนคำสั่ง เช่น ORDER BY หรือ GROUP BY เพื่อเรียงลำดับค่าผลลัพธ์ตามลำดับที่กำหนด
ตัวอย่างเช่น เราสามารถเรียงลำดับตารางก่อนหน้าตามค่าเงินเดือนที่เริ่มจากสูงสุดไปต่ำสุด
เลือก ชื่อจริง , อีเมล , HIRE_DATE , เงินเดือนจาก พนักงาน
ที่ไหน HIRE_DATE ระหว่าง วันที่ '2006-01-01' และ วันที่ '2007-01-01'
คำสั่ง โดย เงินเดือน DESC ;
ตารางผลลัพธ์มีดังนี้:
บทสรุป
ในบทช่วยสอนนี้ เราได้สำรวจการใช้ตัวดำเนินการ BETWEEN ในฐานข้อมูล Oracle ซึ่งทำให้เราสามารถค้นหาแถวที่มีค่าตรงกับช่วงที่กำหนด