--1: ไม่มี ORDER BY วิธีการเรียงลำดับ (มีประสิทธิภาพมากที่สุด) &อาย;
--(หลังการทดสอบ วิธีนี้มีต้นทุนต่ำสุด การซ้อนระดับเดียว และความเร็วที่เร็วที่สุด! แม้ว่าปริมาณข้อมูลที่สืบค้นจะมีขนาดใหญ่ แต่ก็แทบจะไม่ได้รับผลกระทบใด ๆ และความเร็วก็ยังคงเท่าเดิม!) &อาย;
SELECT * &อาย;
จาก (เลือก ROWNUM เป็น ROWNO, T.* ­
จาก k_task T ­
โดยที่ Flight_date ระหว่าง to_date('20060501', 'yyyymmdd') และ ­
to_date('20060731', 'yyyymmdd') &อาย;
และ ROWNUM <= 20) TABLE_ALIAS ­
โดยที่ TABLE_ALIAS.ROWNO >= 10;
&อาย;
--2: มีวิธีการเรียงลำดับ ORDER BY (มีประสิทธิภาพมากที่สุด) &อาย;
--(หลังการทดสอบ วิธีนี้จะช้าลงเรื่อยๆ เมื่อช่วงการสืบค้นขยายออก!) ­
SELECT * &อาย;
จาก (เลือก TT.*, ROWNUM เป็น ROWNO ­
จาก (เลือก t.*­
จาก k_task T ­
โดยที่ flight_date ระหว่าง to_date('20060501', 'yyyymmdd') และ ­
to_date('20060531', 'yyyymmdd') &อาย;
เรียงลำดับตาม FACT_UP_TIME, flight_no) TT ­
โดยที่ ROWNUM <= 20) TABLE_ALIAS ­
โดยที่ TABLE_ALIAS.rowno >= 10;
&อาย;
--3: ไม่มี ORDER BY วิธีการเรียงลำดับ (แนะนำให้ใช้วิธีที่ 1 แทน) ­
--(วิธีการนี้จะช้าลงเรื่อยๆ เมื่อจำนวนข้อมูลคิวรีเพิ่มมากขึ้น!) ­
SELECT * &อาย;
จาก (เลือก ROWNUM เป็น ROWNO, T.* ­
จาก k_task T ­
โดยที่ Flight_date ระหว่าง to_date('20060501', 'yyyymmdd') และ ­
to_date('20060731', 'yyyymmdd')) TABLE_ALIAS ­
โดยที่ TABLE_ALIAS.ROWNO <= 20 ­
และ TABLE_ALIAS.ROWNO >= 10;
--TABLE_ALIAS.ROWNO ระหว่าง 10 ถึง 100 ­
&อาย;
--4: มีวิธีเรียงลำดับตาม (แนะนำให้ใช้วิธีที่ 2 แทน) ­
--(วิธีการนี้จะช้าลงเรื่อยๆ เมื่อช่วงการสืบค้นขยายออก!) ­
SELECT * &อาย;
จาก (เลือก TT.*, ROWNUM เป็น ROWNO ­
จาก (เลือก * ­
จาก k_task T ­
โดยที่ flight_date ระหว่าง to_date('20060501', 'yyyymmdd') และ ­
to_date('20060531', 'yyyymmdd') &อาย;
เรียงลำดับตาม FACT_UP_TIME, flight_no) TT) TABLE_ALIAS ­
โดยที่ TABLE_ALIAS.rowno ระหว่าง 10 และ 20;
&อาย;
&อาย;
--5 ไวยากรณ์ทางเลือก (ด้วยวิธีการเขียน ORDER BY) ­
--(รูปแบบไวยากรณ์แตกต่างจากไวยากรณ์ SQL แบบเดิม ซึ่งไม่สะดวกในการอ่านและทำความเข้าใจ เป็นมาตรฐานและเป็นมาตรฐานแบบครบวงจร และไม่แนะนำ) ­
ด้วย partdata เป็น ( ­
เลือก ROWNUM เป็น ROWNO, TT.* จาก (เลือก * ­
จาก k_task T ­
โดยที่ flight_date ระหว่าง to_date('20060501', 'yyyymmdd') และ ­
to_date('20060531', 'yyyymmdd') &อาย;
เรียงลำดับตาม FACT_UP_TIME, flight_no) TT ­
โดยที่ ROWNUM <= 20) ­
เลือก * จาก partdata โดยที่ rowno >= 10;
&อาย;
--6 ไวยากรณ์ทางเลือก (No ORDER BY วิธีเขียน) ­
ด้วย partdata เป็น ( ­
เลือก ROWNUM เป็น ROWNO, T.* ­
จาก K_task T­
โดยที่ Flight_date ระหว่าง to_date('20060501', 'yyyymmdd') และ ­
To_date('20060531', 'yyyymmdd') ­
และ ROWNUM <= 20) ­
เลือก * จาก partdata โดยที่ Rowno >= 10;
-