خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


استفاده از OFFSET FETCH در SQL Server

استفاده از OFFSET FETCH در SQL Server
شروط OFFSET FETCH در SQL Server، برای تعیین حد تعداد ردیف های برگشتی از یک کوئری مورد استفاده قرار می گیرند. OFFSET و FETCH همیشه با دستور Order By همراه هستند و با آن مورد استفاده قرار می گیرند. اینها گزینه های اختیاری هستند که می توانند با order by مورد استفاده قرار گیرند.

نرم افزار سامانه مودیان راهکار
OFFSET در واقع تعداد ردیف هایی که در Result set یک کوئری از آنها رد می شود(آنها را ندید می گیرد) و در خروجی نشان نمی دهد.


FETCH در واقع تعداد ردیف هایی که پس از OFFSET در خروجی کوئری نمایش می دهد. اگر OFFSET FETCH استفاده می کنید، OFFSET اجباری بوده ولی FETCH اختیاری است.
در ادامه با نحوه کار این دو آشنا خواهید شد و خواهید دید که چگونه باید از اینها استفاده کرد.
SYNTAX استفاده از OFFSET FETCH بصورت زیر می باشد.

SELECT  col1, col2, ....

FROM table_name

WHERE conditions

ORDER BY column_list [ASC |DESC]

OFFSET offset_row_count {ROW | ROWS}

FETCH {FIRST | NEXT} fetch_row_count {ROW | ROWS} ONLY

خب، حالا اجازه دهید با مثال به طور کامل متوجه نحوه استفاده آنها شده و با طرز کار آنها آشنا شویم. ابتدا یک جدول با نام student ایجاد خواهیم کرد و سپس مقادیری را در آن Insert می کنیم.

Create table Student ( StudId int identity(1,1) , StudName varchar(30), StudCode varchar(30))

insert into student values ('Rozer M', 'CodrozX3')
insert into student values ('Mahesh Singh', 'RodMSzG5')
insert into student values ('Sanjay Ak', 'SodAkzV4')
insert into student values ('Jack Peter', 'Jodrohn9')
insert into student values ('Suraj Rawat', 'Sodroag5')
insert into student values ('Munni M', 'Modfobj7')
insert into student values ('Honey',' Hodrihy9')
insert into student values ('Rahul Singh', 'Rodrihyd6')
insert into student values ('Mahesh uniyal', 'ModfihXFT')
insert into student values ('Nitesh Kumar', 'Nodtihu3')
insert into student values ('Munish Singh' ,'Muonirih56')

استفاده از OFFSET FETCH در SQL Server . آموزشگاه رایگان خوش آموز

حالاهمه رکوردهای این جدول را Serlct کرده و بر اساس ستون StudId آنها را مرتب سازی صعودی می کنیم.

 select * from student order by studId

استفاده از OFFSET FETCH در SQL Server
حالا می خواهیم از OFFSET استفاده کنیم. قبل از استفاده از OFFSET، لطفا به تصویر بالا دقت کنید و تعدا رکوردها 11 عدد و از شماره 1 تا 11 هستند.
اگر بخواهیم از 4 رکورد اول صرفنظر کنیم و به نوعی آنها را رد کرده و در خروجی نشان ندهیم، از OFFSET باید استفاده کنیم.

select * from Student order by studId
OFFSET 4 ROWS

استفاده از OFFSET FETCH در SQL Server
حالا از FETCH استفاده می کنیم. همانطور که دیدید در کوئری فوق از FETCH استفاده نکردیم چون همانطور که گفته شد اختیاری است ولی در شرایطی هم لازم است از FETCH استفاده کنید.
صورت مسئله به این صورت است که 4 رکورد اول را رد کرده و فقط 5 رکورد بعدی را در Result set کوئری نشان دهیم. خب، اینجاست که FETCH را باید وارد ماجرا کنیم.

SELECT * FROM Student ORDER BY  studId
OFFSET 4 ROWS FETCH NEXT 5 ROWS ONLY

استفاده از OFFSET FETCH در SQL Server

نمایش دیدگاه ها (1 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز