درس اول آموزش دستورات ابتدایی Transact SQL

جلسه اول 

دستور Select:

در زیر ساختار بسیار ساده دستور Select را ملاحظه می کنید.

SELECT select_list

FROM table_list

Select_list شامل فیلدهایی می شود که میخواهیم از جدول مربوطه فراخوانی کنیم. اگر به جای نام فیلدها از * استفاده کنیم تمام فیلدهای موجود در Table_List را به ما نمایش میدهد.

Table_List شامل جداول و یا View هایی هست که ما میخواهیم اطلاعات را از آنها فراخوانی کنیم.

در مثال زیر با استفاده از دستور select یک سری اطلاعات را از دیتابیس AdventureWorks فراخوانی می کنیم.

USE AdventureWorks

GO

 

SELECT NationalIDNumber,

         LoginID,

         JobTitle

FROM HumanResources.Employee

با اجرای دستورات بالا نتیجه ای معادل شکل زیر بدست خواهد آمد.

JobTitle

LoginID

NationalIDNumber

Chief Executive Officer

Vice President of Engineering

 Engineering Manager

Senior Tool Designer

Sales Representative

 Sales Representative

 Sales Representative

adventure-works\ken0

adventure-works\terri0

adventure-works\roberto0

adventure-works\rob0

adventure-works\rachel0

adventure-works\jae0

adventure-works\ranjit0

295847284

245797967

509647174

112457891

...

668991357

954276278

134219713

                                 

(290 row(s) affected)

شرح دستور :

خط اول دستور برای تغییر دیتابیس پیش فرض هست. زیرا زمانی که برای اولین بار به SSMS (SQL Server Management Studio ) وصل می شوید پیش فرض Database در حال استفاده هست که در User شما به عنوان Default Database تعیین شده باشد. با این دستور به دیتابیس مورد نظر وصل خواهیم شد.

USE AdventureWorks

GO

خطوط زیر مشخص میکند کدام ستونها به ما نمایش داده شوند.

SELECT NationalIDNumber,

       LoginID,

       JobTitle

قسمت بعدی که عبارت From می باشد :

FROM HumanResources.Employee

این عبارت مشخص می کند اطلاعات باید از چه منبعی فرخوانی شود. در اینجا ما اطلاعات را از یک جدول موجود در دیتابیس فراخوانی کردیم.

عبارت HumanResources.Employee شامل دو قسمت می باشد. قسمت اول نام Schema هست و قسمت دوم نام حقیقی جدول. هر Schema شامل یک سری اشیا می باشد. در درس های آینده نحوه تعریف Schema و کاربرد آنرا توضیح خواهیم داد.

اگر بخواهیم لیست تمامی ستونهای موجود را از یک منبع داده که در جلوی عبارت From آمده است ، فراخوانی کنیم باید از دستور زیر استفاده کنیم :

SELECT *

FROM HumanResources.Employee

 

نکته بسیار مهم : تا زمانی که نیاز به همه فیلدها نداریم بهتر است از * استفاده نکرده و نام فیلدها را به صورت جداگانه بیاوریم.چون هرچه تعداد فیلدها بیشتر باشد حجم اطلاعات جابجا شده بیشتر خواهد بود که این میتواند به خصوص روی نرم افزارهای تحت شبکه تاثیر به سزایی روی سرعت نرم افزار داشته باشد.همچنین اگر بعد از مدتی یک فیلد به جدول مورد نظر اضافه کنیم به طور ناخودآگاه این فیلد در برنامه ما ظاهر خواهد شد.چون ممکن است این فیلد یک فیلد محاسباتی باشد و نیازی به نمایش آن به کاربر نباشد.

 

محدود کردن نتیجه یک Query بواسطه عبارت Where.

در یک دستور Select عبارت Where برای محدود کردن نتیجه مورد نظر به کار می رود. شکل ساده دستوری عبارت where در زیر آمده است .

توجه : وقتی عبارتی داخل [] قرار میگیرد منظور این است که وجود آن در دستور اصلی به صورت دلخواه می باشد و نبود آن در اجرای دستور مشکلی ایجاد نخواهد کرد.

 

SELECT select_list

FROM table_list

[WHERE search_conditions]

Search_conditions ها گزارهایی هستند که مقادیر عبارات را با TRUE , FALSE,UNKHOWN ارزیابی می کنند.

UNKHOWN زمانی ظاهر می شود که در Search_Condition ها به مقدار NULL دسترسی پیدا کنیم.

یک مقدار NULL نه صفر هست نه خالی فقط و فقط شناخته نشده است.همچنین دو مقدار NULL باهم برابر نیستند و نمیتوان بدون یک نتیجه UNKHOWN آنها را باهم مقایسه کرد.


آموزش Transact SQL

سلام.

تصمیم دارم در دروس پیوسته از مباحث ابتدایی تا پیشرفته مباحث TSQL  یا برنامه نویسی در SQL Server رو آموزش بدم.

دوستانی هم که سوال داشتند در قسمت نظرخواهی بپرسند پاسخ میدم.