بازیابی اطلاعات توسط SELECT


SELECT یکی از جمله های پایه ای زبان T-SQL برای واکشی اطلاعات از بانک های اطلاعاتی به کار می رود. این دستور خیلی وقت ها خیلی ساده و به تنهایی به کار می رود. اما می توان با اضافه کردن شرط ها و دستورات مرتب سازی، نتیجه لازم را بدست آورد. شکل کلی این دستور به صورت زیر می باشد.

SELECT <فهرست فیلدها>

{ FROM <جدول (ها)> }

{ WHERE <شرط انتخاب> }

{ GROUP BY < نام فیلدهایی که قصد گروه بندی آنان را داریم > }

{ HAVING < شرط های انتخاب بر اساس نتایج گروه بندی> }

{ ORDER BY < فهرست فیلدها جهت مرتب سازی > }

دریافت مقاله در قالبPDF

جمله SELECT :

بلافاصله پس از جمله SELECT باید لیست فیلدهایی را که قصد بازیابی اطلاعات آن ها را داریم، مشخص کنیم. اگر می خواهید تمامی فیلدهای یک جدول را بازیابی نمایید به جای نوشتن تک تک فیلدها از کاراکتر * استفاده کنید. در ادامه جمله به کمک FROM جدول یا جدول هایی که فیلدهای مشخص شده بایستی از آن ها بازیابی شوند مشخص می کنیم. این دو بخش برای بازیابی اطلاعات کفایت می کنند.

مثال :

SELECT * FROM Students

تمامی فیلدهای جدول Students را انتخاب می کند.

عبارت WHERE :

اگر بخواهیم فقط رکوردهایی را که شرط خاصی در مورد آن ها صدق می کند را بازیابی کنیم، با افزودن عبارت WHERE به دستور SELECT این کار را انجام می دهیم. در واقع با استفاده از WHERE می توانیم به اطلاعات مطلوب خود دسترسی پیدا کرده و دامنه اطلاعات درخواستی را محدود نماییم. بلافاصله بعد از WHERE باید شرط خود را بنویسید. این شرط ها شباهت بسیاری به شرط هایی است که در زبان های برنامه نویسی رایج استفاده می شوند.

مثال :

SELECT Name,Family,ID FROM Students

WHERE ID < 20

مثال بالا رکوردهایی را بازیابی می کند که ID آن ها از 20 کمتر باشد.

عبارت GROUP BY :

این عبارت جهت گروه بندی اطلاعات در دستور SELECT استفاده می شود. بلافاصله بعد از GROUP BY باید فیلدهایی را که می خواهیم نتایج توسط آن ها گروه بندی شوند، بنویسیم.

مثال :

SELECT * FROM Students

WHERE ID BETWEEN 1 AND 100

GROUP BY ID

این مثال رکوردهایی که ID آن ها بین 1 تا 100 باشد بر اساس فیلد ID گروه بندی می شوند.

(توجه: عبارت GROUP BY در بیشتر مواقع با استفاده از توابع استاندارد و جمعی استفاده می شود. این مورد سر فرصت توضیح داده خواهد شد.)

عبارت HAVING :

اگر بخواهیم شرط ها را روی گروه ها اعمال کنیم از این عبارت استفاده می کنیم. این عبارت کاملا شبیه به WHERE عمل می نماید اما در این جا شرط را روی خروجی دستور GROUP BY اعمال می کند.

عبارت ORDER BY :

جهت مرتب سازی رکوردها بر اساس یک یا چند فیلد مشخص به کار می رود. به طور پیش فرض حاصل پرس و جوها به صورت الفبایی برای ما مرتب شده اند، برای اینکه حاصل را به ترتیب خاصی که نیاز داریم دریافت کنیم، از این عبارت در جمله SELECT استفاده می کنیم. بلافاصله بعد از ORDER BY نام فیلد مورد نظر را می نویسیم. به طور پیش فرض این عبارت حاصل را به صورت صعودی مرتب می نماید، در صورتی که تمایل دارید حاصل را به صورت غیر صعودی دریافت کنید، کلمه کلیدی DESC را پس از فیلد مورد نظر خود بنویسید.

مثال :

SELECT * FROM Students

WHERE Teacher = «Hamidi«

ORDER BY Family DESC

Advertisements