قسمت سوم آموزش T-SQL [دستور WHERE]

قسمت سوم آموزش T-SQL [دستور WHERE]

نوشته شده توسط: حمید قلی پور
۰۱ شهریور ۱۳۹۴
زمان مطالعه: 9 دقیقه
۳
(۱)

مقدمه

با سلام و احترام به همه ی نیک آموزی های گرامی
با بخش سوم آموزش مقدماتی T-SQL در خدمت شما گرامیان هستیم و امیدوارم بخش اول و دوم مفید واقع شده باشد.

بکار بردن WHERE با دو پیش بینی (آینده نگری)

شما عزیزان می توانید WHERE را با یک شرط یا پیش بینی بکار ببرید ، اما می توانید پیش بینی های پیچیده تری نوشت.
می توان چندین پیش بینی ( آینده نگری ) را با استفاده از عملگرهای منطقی AND و OR داشته باشیم.

به مثال ها توجه کنید:

SELECT FirstName, LastName
FROM Person.Person
WHERE FirstName = 'Ken' AND LastName = 'Myer';

در همینجا لازم میدونم عملکرد این دو عملگر منطقی رو شرح بدهم

در عملگر AND ، عبارت هر دو طرف عملگر بایستی درست ( TRUE ) باشد تا مقادیر در خروجی نمایش داده بشود.( مانند ضرب عمل میکند)
اگر عبارت سمت چپ اشتباه باشد؛ عبارت سمت راست مورد بررسی قرار نمی گیرد.

SELECT FirstName, LastName
FROM Person.Person
WHERE FirstName = 'Ken' OR LastName = 'Myer';

در عملگر OR فقط کافیست یکی از عبارت ها ( TRUE ) باشد ؛ تا مقادیر در خروجی نمایش داده بشود.
اگر عبارت سمت  چپ صحیح باشد  دیگر نیازی به ارزیابی عبارت سمت چپ نمی باشد.

بکاربردن عملگر IN

این عملگر بسیار مفید است هنگامی که می خواهیم چندین مقدار مشخص را با مجموعه مقادیر یک ستون( فیلد ) مورد مقایسه قرار بدهیم.
 به شکل صحیح این دستور توجه بفرمایید :

SELECT <column1>,<column2>
FROM <schema>.<table>
WHERE <column> IN (<value1>,<value2>);

به مثال ها توجه کنید:

--۱
SELECT ID,FirstName,LastName
FROM Person.Person
WHERE FirstName = 'Ken' AND LastName IN ('Myer','Meyer');
--۲
SELECT ID, FirstName
FROM Person.Person
WHERE ID IN (1,200,404,373);

در مثال ۱ : باید FirstName برابر ken باشد و ستون LastName  با مقادیر Myer و Meyer مقایسه میشود و برابر هرکدام باشد در خروجی لیست می شود.
همچنین عملگر IN را می توان با NOT همراه کرد تا دقیقا  نتیجه عکس بدهد.

SELECT FirstName,LastName
FROM Person.Person
WHERE ID NOT IN(100,200,202,203)

نتیجه کوئری این خواهد بود که ID های ۱۰۰,۲۰۰,۲۰۲,۲۰۳ را در خروجی لیست نخواهد کرد.

چه رتبه ای می‌دهید؟

میانگین ۳ / ۵. از مجموع ۱

اولین نفر باش

title sign
دانلود مقاله
قسمت سوم آموزش T-SQL [دستور WHERE]
فرمت PDF
2 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
حمید قلی پور
مقالات
3 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
حمید قلی پور
پروفایل نویسنده
title sign
دیدگاه کاربران

    •    لطفا مثال های سنگین

    •     اگه   مثالهای  بیشتری  داشت  بهتر  بود . با تشکر

    •  با سلام 

      استاد گرامی چند تا منبع و کتاب برای آزمون معرفی بفرمایید.
      اولین درسی که باید آزمون بدهیم چه چیزی خواهد بود؟
      با تشکر
    • با سلام و احترام

      جناب استاد طاهری  SQL Server آزمون بین المللی داره؟
      چه کتاب هایی رو باید خوند؟
      توی ایران آزمون برگزار میشه؟
      با تشکر
      •  سلام بلی آزمون بین الملی وجود دارد. 

        متاسفانه چند ماهی است که دیگر نمی توان امتحان را به صورت Remote داد چون موسسه prometric به طور انحصاری داره آزمون های مایکروسافت را در دنیا برگزاری می کنه و این موسسه کنترل های biometrics  مثل اثر انگشت و… داره که عملا امکان برگزاری آزمون ها را به شکل Remote در ایران غیر ممکن می کنه. البته ممکن است از ابتدای سال ۲۰۱۶ این موسسه به علت رفع تحریم ها در ایران Center رسمی برای امتحان ایجاد کنه.
        اما فعلا کسانی که می خواهند امتحان بدن باید ترکیه + دبی و… برن
        اما آزمون های SQL Server را می توانید در این لینک مشاهده و اطلاعات بیشتری درباره آن بدست آورید. در ضمن آزمون های SQL Server 2012 حوزه ۲۰۱۴ را هم شامل میشه 
    • سلام جناب قلیپور
      شما درست می فرماید
      ولی منظور من این بود که با دستور IN همانطور که فرمودین مقایسه چندین مقدار مشخص با یک فیلد صورت میگیرد ولی درصورت که بخواهیم فیلد مورد نظر را بعنوان مالک مقایسه قرار دهیم به این نحو که مقداری که از فیلد مشخص کوچکتر هست در زیز آن قرار گیرد آیا بدون استفاده از دستور ORDER BY امکان پذیر هست که بعد از مطالعه متوجه شدم امکان پذیر نیست …بازم متشکرم

    •  سلام
      مقله خوبی داشتید
      سئوالی که هست چناچه در مثال شماره ۱ بخوایم داده ها را با استفاده از یک ویژگی مرتب کنیم بازهم باید از دستورIN مقایسه کنیم و مرتب کنیم؟
      با تشکر

      • با سلام 

        آقای شهریور  مثال شماره یک چاپ نشده 
        SELECT ID,FirstName,LastName FROM Person.Person WHERE FirstName = ‘Ken’ AND LastName IN (‘Myer’,’Meyer’);
        ولی برای مرتب سازی تا جایی که اطلاع دارم نیازی به IN نییست.
    •  ممنون بخاطر مطلب خوبتون

    •  با سلام و احترام 

         جناب طاهری بنده مقاله رو چک کردم دو تا از مثال های بنده توی این مقاله لیست نشده ، لطفا چک بفرمایید.
      با تشکر
    •  با سلام.
      لطفا از دفعات دیگر سعی کنید مقاله خود را مانند سایر دوستان با مثال ها و مباحث بیشتری ارائه دهید.
      با تشکر

      • با سلام و احترام

        جناب طاهری سعی میکنم دفعات بعد ارائه بهتری داشته باشم.
        با تشکر فراوان
    •  اولین آزمون ۴۶۱-۷۰ می باشد. (Exam 70-461: Querying Microsoft SQL Server 2012)

      منبع
      با جستجو در سایت های  مثل it-Ebooks می توانید منابع هر سه آزمون اولیه را دانلود کنید
    •  سلام بلی آزمون بین الملی وجود دارد. 

      متاسفانه چند ماهی است که دیگر نمی توان امتحان را به صورت Remote داد چون موسسه prometric به طور انحصاری داره آزمون های مایکروسافت را در دنیا برگزاری می کنه و این موسسه کنترل های biometrics  مثل اثر انگشت و… داره که عملا امکان برگزاری آزمون ها را به شکل Remote در ایران غیر ممکن می کنه. البته ممکن است از ابتدای سال ۲۰۱۶ این موسسه به علت رفع تحریم ها در ایران Center رسمی برای امتحان ایجاد کنه.
      اما فعلا کسانی که می خواهند امتحان بدن باید ترکیه + دبی و… برن
      اما آزمون های SQL Server را می توانید در این لینک مشاهده و اطلاعات بیشتری درباره آن بدست آورید. در ضمن آزمون های SQL Server 2012 حوزه ۲۰۱۴ را هم شامل میشه 
هر روز یک ایمیل، هر روز یک درس
آموزش SQL Server بصورت رایگان
همین حالا فرم زیر را تکمیل کنید
دانلود رایگان جلسه اول
نیک آموز علاوه بر آموزش، پروژه‌های بزرگ در حوزه هوش تجاری و دیتا انجام می‌دهد.
close-link
وبینار رایگان SQL Server؛ مسیری به سوی فرصت‌های شغلی بی‌شمار       پنج‌شنبه 30 فرودین ساعت 15
ثبت نام رایگان
close-image