آموزش مقدماتی T-SQL | فیلتر کردن داده‌ها در SQL Server

آموزش مقدماتی T-SQL | فیلتر کردن داده‌ها در SQL Server

نوشته شده توسط: حمید قلی پور
تاریخ انتشار: ۰۷ مرداد ۱۳۹۴
آخرین بروزرسانی: 25 اسفند 1403
زمان مطالعه: 8 دقیقه
۰
(۰)

با سلام و احترام به همه ی نیک آموزی های گرامی
مقاله که برای شما آماده کردم ترجمه و خلاصه بخشی از فصل سوم کتاب Beginning T-SQL انتشارات Apress هست.
از فصل سوم این کتاب  به صورت خلاصه مواردی که به نظرم مناسب، کاربردی و مهم بودهرو ارائه میدم :


مشاهده کامل‌ترین و بروزترین آموزش sql server در نیک آموز


فیلتر کردن داده ها

معمولا هر برنامه کاربردی بخشی از اطلاعاتی که مورد نیاز ما هست در قالب ردیف هایی به ما ارائه میدهد، برای مثال ما یک جدول با میلیون ها رکورد داریم اما می خواهیم اطلاعات کارمندانی با حقوق دو میلیون رو بدست بیاریم، بناربراین نیازی به تمامرکورد های جدول نداریم که برای ما توسط برنامه کاربردی به نمایش در بیاد، اینجاست که فیلتر کردن اهمیت پیدا می کنه.
فیلترکردن داده ها از مهمترین قسمت های T-SQL می باشد.

اضافه کردن قانون( بند )WHERE :

سرویس Database engine قانون (قوانین) مربوط به بخش WHERE را بعد از FROM مورد بررسی قرار می دهد.
شکل صحیح دستوری این قانون :

SELECT <column1>,<column2>
FROM <schema>.<table>
WHERE <column> = <value>

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

SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID = 11

خیلی مشخصه که ما می خواهیم مشخصات مشتری که CustomerID آن برابر ۱۱ هست رو بدست بیاریم.

عملگرهایی که به تناوب با WHERE مورد استفاده قرار می گیرند

شما در زیر با این عملگرها و علامت های آن آشنا می شوید.
< ( بزرگتراز )
> (کوچکتر از )
= ( برابر)
=> (کوچکتر از یا مساوی با )
=< ( بزرگتراز یا مساوی با )
=! (نامساوی )
<> (نامساوی )
>! (کوچکتر نباشد از )
<! (بزرگتر نباشد از )
البته برخی از این نمادها عملکرد یکسانی دارند مثل ( =!  <> )،( =<  >! )،( =>  <! )
حالا به مثال های  زیر دقت بفرمایید :

--۱
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID > 101
--۲
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID < 101
--۳
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID >= 101
--۴
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID <> 101
--۵
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID != 101
--۶
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID !> 101
--۷
SELECT Name, Family, CustomerID
FROM Customer
WHERE CustomerID !< 101

بکار بردن 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 های ۱۰۰,۲۰۰,۲۰۲,۲۰۳ را در خروجی لیست نخواهد کرد.

جمع بندی

در این مقاله با مفاهیم فیلتر کردن داده‌ها در T-SQL آشنا شدیم. استفاده از WHERE برای استخراج داده‌های موردنیاز، همراه با عملگرهای مقایسه‌ای مانند >، <، = و <>، امکان محدود کردن نتایج را فراهم می‌کند. همچنین، AND و OR برای ترکیب شرایط و IN و NOT IN برای انتخاب یا حذف مجموعه‌ای از مقادیر به کار می‌روند. این تکنیک‌ها به بهینه‌سازی کوئری‌ها و افزایش سرعت پردازش کمک می‌کنند. با تسلط بر این مفاهیم، می‌توانید داده‌ها را دقیق‌تر و سریع‌تر مدیریت کنید.

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

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

اولین نفر باش

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

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

    •  سلام حمید جان

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

      https://nikamooz.com/product/query-sql-server-course/

      سپاس ازهمراهی شما

  • 1
  • 2

دانلود رایگان: آموزش SQL Server

هر روز یک ویدئو آموزشی رایگان برای شما ایمیل خواهد شد!

پاپ آپ | SQL Server

  • این قسمت برای اهداف اعتبارسنجی است و باید بدون تغییر باقی بماند.