مرتب سازی و انتخاب کردن سطرها
در فصل گذشته ما بیشترین فرمهای مقدماتی از حالت SELECT را مرور کرده و آنها را برای انتخاب ستونهای یک جدول استفاده کردیم. اما بیشتر مواقع شما بازگشت به سطرها در جدول پس زمینه یا نمایش در یک قاعده خاص و فقط بازگشت به یک زیر مجموعه از آنها را خواهید خواست. شرطهای ORDER BY و WHERE در این درس بررسی شده و اجرای آن برای شما فراهم شود.
شرط ORDER BY
شرط The ORDER BY یک ترکیب گزینه ای از یک حالت SELECT می باشد. آن به شما برای مشخص کردن ترتیب در آن سطرهایی که بازگشت خواهند کرد اجازه می دهد. ستونهای چندگانه می توانند مشخص شوند و سطرها می توانند به صورت ترتیب افزایشی یا کاهشی باز گردانده شوند.
مرتب سازی سطرها
ساده ترین فرم در شرط ORDER BY فراهم می سازد یک نام ستون تکی که برای مرتب کردن سطرها که به وسیله Query باز گردانده می شود استفاده خواهد شد.
مرتب کردن سطرها با استفاده از قاب Grid
1- Query Designer را برای جدول Oils به وسیله کلیک راست کردن نام آن در قاب Details باز می کنیم. به زیر منوی جدول Open رفته و همه ستونهای بازگشتی را انتخاب می کنیم. SQL Server ، Query Designer را برای جدول باز می کند.
2- قاب Grid را به وسیله کلیک راست کردن دکمه قاب Grid در نوار ابزار Query Designer نشان می دهیم.
3- فقط ستونهای OilID ، Oil Name ، LatinName را برای نمایش انتخاب می کنیم. Query Designer محتویات قاب Results را که کمرنگ شده برای نشان دادن اینکه با مشخصات Query زیاد مربوط نمی باشد نشان می دهد.
4- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer فقط ستونهای مشخص شده را نشان می دهد.
5- نوع Sort فیلد Oil Name را صعودی قرار می دهیم.
6- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer سطرهای مرتب شده با Oil Name را نشان می دهد.
مرتب سازی سطرها با استفاده از قاب SQL
1- قاب Grid را پنهان ساخته و قاب SQL را به وسیله کلیک کردن دکمه ها روی نوار ابزار Query Designer نشان می دهیم.
2- DESC را بعد از شرط ORDER BY OilName اضافه می کنیم.
راهنمایی: کلید واژه DESCبه SQL Server برگرداندن سطرها به ترتیب نزولی را ابراز می کند. کلید واژه ASC که گزینه ای می باشد سطرها را به ترتیب صعودی برمی گرداند.
3- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer نتایح را که با OilName ذخیره شده به صورت نزولی نشان می دهد.
مرتب سازی ستونهای چندگانه
شما می توانید ستونهای چندگانه را در شرط ORDER BY مشخص کنید. زمانی که ستونهای چندگانه مشخص می گردند ترتیب ستونها نتایج SQL Server را که به وسیله اولین ستون و سپس به وسیله دومین ستون و بنابراین چهارمین ستون مرتب خواهد شد مشخص می کند.
راهنمایی: تمرینها در این بخش از جدول OilOdors استفاده می کند که به صورت جدول الحاقی انجام وظیفه می کند که ارتباط چندبه چند بین جدول Oils و Odors را تجزیه و تحلیل می کند. معمولاً شما کلیدهای خارجی ترکیب شده در این جدول را با استفاده از یک ارتباط تجزیه می کردید.
مرتب سازی سطرها با استفاده از قاب Grid
1- پنجره شماره 1 را از منوی Window برای برگشت به درخت Console انتخاب می کنیم.
2- Query Designer را برای جدول Oil Orders به وسیله کلیک راست کردن نام آن در قاب Details باز کرده روی زیر منوی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنیم. SQL Server ، Query Designer را برای جدول باز می کند.
3- قاب Grid را به وسیله کلیک کردن دکمه قاب Grid روی نوار ابزار Query Designer نشان می دهیم.
4- * را در قاب Grid با نامهای دو فیلد جایگزین می کنیم. SQL Server محتویات از قاب Results را برای نشان دادن اینکه آن با مشخصات Query زیاد در ارتباط نیست کم رنگ می کند.
5- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer فقط ستونهای مشخص شده شما را نشان می دهد.
6- نوع Sort هر دوی ستونها را صعودی قرار می دهیم.
7- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer سطرهای مرتب شده را با اولین OilID و سپس با OdorID در داخل OilID نشان می دهد.
مرتب کردن سطرها با استفاده از قاب SQL
1- قاب Grid را پنهان کرده و قاب SQL را به وسیله کلیک کردن دکمه ها در نوار ابزار Query Designer نشان می دهیم.
2- ستونها را در شرط ORDER BY معکوس می کنیم.
3- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer نتایج مرتب شده را با اولین OdorID و سپس با OilID نشان می دهد.
4- پنجره Query Designer را می بندیم.
شرط WHERE
با استفاده از شرط اختیاری WHERE از حالت SELECT شما می توانید یک زیر مجموعه از سطرها که باز گردانده می شوند را مشخص کنید. برای مثال شما ممکن است بخواهید فقط مشتریهایی که بیش از $1000 در 12 ماه قبل خرج کرده اند را ببینید یا اینکه فقط نامهای Oil که با حرف R شروع می شوند را ببینید. شما این ملاکها را با استفاده از شرط WHERE مشخص خواهید کرد.
شرط WHERE BASIC
Operator Meaning
مساویست با = بزرگتر از < کوچکتر از >بزرگتر یا مساویست با =<کوچکتر یا مساویست با => مساوی نیست با <>
کلید برای شرط WHERE یک ملاک انتخابی می باشد که مشخص می کند که کدام سطرها باز خواهند گشت. ساختار پایه ای از یک شرط WHERE ، WHERE می باشد. SQL Server یک حدود کاملی از اپراتورهای مقایسه ای را به طوری که در جدول B-1 نشان داده شده فراهم می سازد.
مشخص شده در شرایط WHERE می تواند یک ارزش دائمی باشد مانند Red"" یا 10000 یا می تواند باشد یک عبارتی که یک ارزش مانند GETDATE. را باز گرداند. به طور شبیه ارزش می تواند دستی ساخته شوند با استفاده از تابعهای Transact-SQL مانند LEFT که یک تعدادی از کاراکترهای مشخص شده از چپ یک رشته را باز می گرداند، ما تمام جزئیات توابع را در درس 24 مرور خواهیم کرد.
مشخص کردن یک شرط WHERE با استفاده از قاب Grid
1- پنجره شماره 2 را از منوی Window برای بازگشت به پنجره Query Designer که ما زودتر در این درس استفاده کرده ایم انتخاب می کنیم.
2- قاب SQL را پنهان کرده و قاب Grid را به وسیله کلیک کردن دکمه ها در نوار ابزار Query Designer نشان می دهیم.
3- "="Eucalyptus را در سل ملاک سطر OilName از قاب Grid وارد می کنیم.
4- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کلیک می کنیم، Query Designer فقط یک سطر تنها را نشان می دهد.
مشخص کردن یک شرط WHERE با استفاده از قاب SQL
1- قاب Grid را پنهان ساخته و قاب SQL را به وسیله کلیک کردن دکمه ها در نوار ابزار Query Designer کلیک می کنیم.
2- شرط WHERE را با WHERE (LEFT(Oil Name,1)="R") تغییر می دهیم.
3- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer نامهای Oil را که با "R" شروع می گردد را نشان می دهد.
استفاده کردن از اپراتورهای ویژه
علاوه بر فرمت استاندارد برای یک شرط WHERE از ، SQL Server همچنین سه عملگر را پشتیبانی می کند: LIKE که اجازه می دهد به شما به فراهم ساختن مقدار نامشخص با استفاده از وایلد کارتهای نشان داده شده در جدول 2-13 و BETWEEN که اجازه می دهد به شما مشخص کردن یک محدوده از ارزشها و IN که اجازه می دهد به شما برای مشخص کردن یک مجموعه از مقادیر.
مثال معنی Wildcard
LIKE 'a' که ارتباط می دهد at"" و "as" هر تک کاراکتر -اما نه "and"%'t'%ILKE که ارتباط می دهد "at" و bat"" و "Together" اما نه "Lucky" هر رشته از صفر یا چندین کاراکتر %LIKE '[a-c]at' که ارتباط می دهدCat"" و "bat" اما نه "fat" هر کاراکتر ویژه در داخل یک محدوده یا مجموعه []LIKE '[a-b]at' که ارتباط می دهدBat"" اما نه "Cat"LIKE '[^c]at' که ارتباط می دهد "Bat" و "fat" اما نه "Cat" هر کاراکتر ویژه که در داخل یک محدوده یا مجموعه نمی باشد [^]
مشخص کردن یک شرط WHERE با استفاده از LIKE
1- شرط WHERE را در قاب SQL برای WHERE تغییر می دهیم. )% (Oil Name LIKE 'Rose'
2- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer همه سطرهایی که با Rose شروع می گردد را نشان می دهد.
مشخص کردن یک شرط WHERE با استفاده از BETWEEN
1- شرط WHERE را در قاب SQL باWHERE(LEFT(Oil Name,1)BETWEEN A AND 'C') تغییر می دهیم.
2- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer همه سطرها که با A و B یا C شروع می گردد را نشان می دهد.
راهنمایی: Transact-SQL همچنین عملگرها Not BETWEEN را پشتیبانی می کند که دقیقاً از همان طریق کار می کند. به استثنای اینکه آن شامل یک محدوده ای از مقادیر می باشد. برای مثال Left (Oil Name , 1) Not BETWEEN 'C' And 'E' همه سطرها باز خواهد گرداند به جز آنهایی که Oil Name با C و D یا E شروع می کند.
مشخص کردن یک شرط WHERE با استفاده از IN
1- شرط WHERE را در قاب SQL با WHERE (LEFT (OilName , 1) IN('G','M','V')) تغییر می دهیم.
2- دکمه Run را در نوار ابزار Query Designer برای اجرا Query کلیک می کنیم. Query Designer ، 8 سطر را نشان می دهد.
ترکیب کردن ملاک انتخابی
علاوه بر مشخص کردن یک شرط WHERE با استفاده از عبارت Format شما می توانید همچنین عبارات را با استفاده از عملگر منطقی OR یا AND ترکیب کنید. یک شرط WHERE از فرمت FormatOR سطرهایی که به ملاک مربوط می گردند خواهد بازگرداند، نظر به اینکه یک شرط WHERE از And Format سطرهایی که به هر دو ملاکها مربوط می گردند را باز خواهد گرداند.
مشخص کردن ملاک پیچیده با استفاده از OR
1- شرط WHERE رادرقاب SQL به WHERE (OilName='Rosemary' OR OilName='Sagy) تغییر می دهیم.
2- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer دو سطر را نشان می دهد.
مشخص کردن ملاک پیچیده با استفاده از AND
1- شرط WHERE را در قاب SQL به ) %(Oil Name LIKE 'Rose' WHERE تغییر می دهیم.
2- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer ، 4 سطر را نشان می دهد.
3- شرط WHERE را در قاب SQL به And (OilID<40) ) %(OilName LIKE Rose WHERE تغییر می دهیم.
4- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer سطر Roso Otto را شامل می گردد.