با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، و کاربرانی که دوره آموزش SQLite را دنبال می کنند. تاکنون با ساختارهای شرطی از جمله WHRER که برای ایجاد یک شرط ساده بکار رفته و همچنین عملگرهایی نظیر LIKE و GLOB که بر اساس الگوی تعریف شده رکوردها را جستجو می کنند، آشنا شدیم. در این موراد ما فقط می توانستیم با تعریف شرط ها و الگوهای مختلف در ساختار SELECT رکوردهای خاصی را برگردانیم و کنترلی روی تعداد و محدوده ی رکوردهای بازگشتی نداشتیم. در این بخش شما یاد خواهید گرفت که چه طور با استفاده از عملگر LIMIT در SQLite بتوانید تعداد و محدوده ی رکوردها را در نتیجه ی Query کنترل کنید.
در این آموزش شما را با سینتکس و چند نمونه از عملکرد عملگر LIMIT در SQLite آشنا خواهیم کرد.
سینتکس اصلی دستور SELECT که شامل عملگر LIMIT در SQLite باشد به صورت زیر خواهد بود :
1 2 3 | SELECT column1, column2, columnN FROM table_name LIMIT [no of rows] |
سینتکس عملگر OFFSET وقتی که به همراه عملگر OFFSET استفاده می شود به صورت زیر است :
1 2 3 | SELECT column1, column2, columnN FROM table_name LIMIT [no of rows] OFFSET [row num] |
SQLite رکوردها را از جایی که با OFFSET مشخص شده است، برمی گرداند.
مثال
جدول COMPANY را با رکوردهای زیر در نظر بگیرید :
1 2 3 4 5 6 7 8 9 | ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0 |
در مثال زیر رکوردهای جدول COMPANY را بر اساس تعدادی که خودمان در LIMIT مشخص می کنیم بازمی گردانیم:
1 | sqlite> SELECT * FROM COMPANY LIMIT 6; |
نتیجه ی اجرای کد فوق به صورت زیر خواهد بود :
1 2 3 4 5 6 7 8 | ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 |
در شرایطی ممکن است بخواهید که رکوردها را از یکه سطر به بعد برگردانید، که در اینگونه موارد از OFFSET استفاده خواهیم کرد.
در مثال زیر ۳ رکورد از جدول COMPANY از سطر سوم به بعد برگردانده می شود :
1 | sqlite> SELECT * FROM COMPANY LIMIT 3 OFFSET 2; |
نتیجه ی اجرای کد فوق به صورت زیر خواهد بود :
1 2 3 4 5 | ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 |
در بخش های قبلی فقط با استفاده از دستورات و عملگرهای شرطی مانند WHERE و LIKE و… می توانستیم رکوردهایی را از جداول دیتابیس خود انتخاب نمائیم،اما کنترلی بر تعداد و محدودیت رکوردهای بازگشتی نداشتیم، در این بخش آموزش های عملگر LIMIT در SQLite را برای اعمال محدودیت بر تعداد رکوردهای نتیجه ارائه کردیم.