1  معرفی دستور JOIN و انواع آن

2   طریقه خلاصه سازی نام جداول

3    معرفی انواع متغیرها در محیط  SQL Server و نحوه تعریف و مقداردهی آنها

4   آشنایی با ساختارهای شرطی (  Conditional Structure)

5   معرفی دستور Print

6   معرفی دستور WHILE

7  نحوه مقداردهی به ستون هایی که IDENTITY هستند

8   نحوه قفل کردن VIEW

 

معرفی دستور JOIN و انواع آن

با این دستور جداول را باهم ادغام کرد یا تطبیق داد.

مدل های JOIN :

 

INNER JOIN:

مثال )

 

اگر CID جدول Student با CID جدول City Info برابر بود اطلاعاتشان را در کنار هم قرار دهد.

*      INNER JOIN فقط رکوردهایی را نشان می دهد که در شرط صدق می کنند.

*      اگر JOIN خالی هم بنویسید به طور پیش فرض INNER JOIN را در نظر می گیرد.

LEFT OUTER JOIN: همان کار INNER JOIN را انجام می دهد ولی LEFT OUTER JOIN تمام رکوردهای جدول سمت چپ را می آورد ، در مقابلش رکوردهایی از جدول سمت راست را انتخاب می کند که در شرط صدق می کنند اگر رکوردی پیدا نکرد مقدار آن را NULL قرار می دهد.

RIGHT OUTER JOIN: بر عکس LEFT OUTER JOIN عمل می کند.

*      جدولی که در آن کلید خارجی است معمولا در سمت چپ می آید.

تطبیق 3 جدول Student و City Info و Organization

CROSS JOIN:

مثال )

CROSS JON دارای شرط نمی باشد ودو جدول را در هم ضرب می کند.

*      اینکه در هر مرحله در JOIN  های تودرتو از چه JOIN استفاده کنید به انتخاب خودتان است.

*      می توانید برایJOIN  ها دستور WHERE ، Group By و ... بنویسید.

طریقه خلاصه سازی نام جداول

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

مثال )

معرفی انواع متغیرها در محیط  SQL Server و نحوه تعریف و مقداردهی آنها

ما دو نوع متغیر در محیط SQL Server داریم :

1 – Global: که توسط خود سیستم تعریف می شود و با @@ شروع می شود.

2 – User: که کاربر آنها را تعریف می کند و با @ شروع می شود.

نحوه تعریف آن به صورت زیر است :

بعد از اینکه دستورات را تعریف کردیم با استفاده از دستورات زیر به آنها مقدار می دهیم :

اول با دستور SET به آنها مقدار می دهیم:

حال با دستور SELECT به آنها مقدار می دهیم :

برای مثال :

با توابع Query بنویسید که نام و نام خانوادگی بالاترین معدل را نشان دهد ؟

*      ممکن است 2 نفر باشند که معدل بالا داشته باشند باید قبل از هر First Name یک TOP 1 قرار دهید تا اولی انتخاب شود.

*      شما می توانید متغیرها را با مقدار قبلیشان دوباره مقداردهی کنید :

آشنایی با ساختارهای شرطی (  Conditional Structure)

دستور IF ... ELSE

در دستور بالا ما می توانیم BEGIN END را حذف کنیم اما اگر مثل بالا 1 دستوری نبود باید از BEGIN END استفاده کنیم :

ساختار CASE:

*      CASE به تنهایی قابل استفاده نیست ، CASE در ساختار SELECT استفاده می شود.

*      چیزی که برمی گرداند به عنوان یک ستون در نظر گرفته می شود.

خروجی دستور زیر 2 ستون است یکی مقدار n@ و دیگری شرط :

با استفاده از ساختار CASE ، Query بنویسید که نام آخرین دانشجو را نشان دهد ؟

با استفاده از ساختار CASE ، Query بنویسید که ID ، First Name ، Last Name جدول Student را نمایش دهد و اگر ستون Statusجدول 1 بود New Student و اگر 2 بود Current Student و اگر 3 بود Graduated Student را نشان دهد ؟

با استفاده از ساختار CASE ، Query بنویسید که ID ، First Name ، Last Name ، Average جدول Student به طوری که اگر معدل آنها بزرگتر از 17 بود  A ، اگر بین 15 و 17 بود B ،اگر بین 12 و 15 بود C ، اگر بین 10 و 12 بود D در غیر اینصورت F را برگرداند ؟

معرفی دستور Print

دستور Print مختص محیط SSMS است که برای تست کردن استفاده می شود :

معرفی دستور WHILE

اگر با دستور SELECT به جای Print خروجی را نشان دهیم به صورت زیر می شود :

نحوه مقداردهی به ستون هایی که IDENTITY هستند

فرض کنید ID های جدول IDENTITY، Student هستند وID ، 5نداریم ما می خواهیم یک سطر با ID ، 5 درج کنیم :

نحوه قفل کردن VIEW

با این کار View  قفل می شود. و شما قادر به دیدن طراحی آن نیستید.