عبارت Where در SQL Server + بررسی ساختار و کاربردها

عبارت Where در SQL Server + بررسی ساختار و کاربردها

نوشته شده توسط: تیم فنی نیک آموز
تاریخ انتشار: ۰۱ بهمن ۱۴۰۲
آخرین بروزرسانی: 08 آذر 1403
زمان مطالعه: 8 دقیقه
۵
(۲)

عبارت Where در SQL Server به شما این امکان را می‌دهد که رکوردها را براساس یک شرط خاص فیلتر کنید. هدف اصلی از به‌کارگیری Where، استخراج داده‌های مشخصی از جداول است. در مقالات قبلی، نحوه استفاده از دستور Select و مفهوم ایندکس گذاری و انواع آن، آموزش داده شدند. در این مقاله، قصد داریم کاربرد عبارت Where را در SQL Server بررسی کنیم تا شما به‌واسطه مثال‌ها و کوئری‌های مختلف، کاربرد و اهمیت آن را درک کنید. برای درک بهتر مفاهیم، پیشنهاد می‌کنیم ابتدا آموزش جامع SQL Server را مطالعه کنید.

دوره کوئری نویسی در SQL Server نیک آموز

Where در SQL Server چیست؟

«بند» یا همان عبارت Where در SQL Server ، به شما امکان فیلترکردن رکوردها (Rows | سطرها) براساس شرایط خاصی را می‌دهد. در عمل، با استفاده از این عبارت، تنها داده‌هایی استخراج می‌شوند که معیارهای خاصی برای آن‌ها صادق باشند. معمولاً Where به‌همراه دستور Select ،Delete ،Update و Merge استفاده می‌شود.

ساختار عبارت Where در SQL Server و نمای کلی آن در دستور Select، به‌صورت زیر است:

SELECT column1, column2, ...
FROM table_name
WHERE condition;

اجزای ساختار فوق عبارتند از:

  • column1, column2, …: در این قسمت، ستون‌هایی که می‌خواهید استخراج کنید ذکر می‌شوند.
  • table_name: نام جدولی است که قصد دارید داده‌ها را از آن استخراج کنید.
  • WHERE: یک کلمه کلیدی است که برای مشخص کردن یک شرط خاص کاربرد دارد.
  • condition: این کامپوننت، شرط فیلترسازی داده‌ها است که به واسطه آن، رکوردهای قابل نمایش تعیین می‌شوند.

عبارت Where در SQL Server

کاربرد Where در SQL Server

عبارت Where در SQL Server به‌عنوان یک مزیت کاربردی، به شما امکان فیلترسازی و استخراج داده‌های خاصی از جداول پایگاه داده را می‌دهد. در ادامه، به بررسی کاربردهای مختلف Where پرداخته می‌شود. البته اگر هنوز SQL Server را روی سیستم خود Install نکرده‌اید، می‌توانید از آموزش نصب SQL Server در ویندوز استفاده کنید.

۱- فیلترسازی رکوردها براساس برابری

شما می‌توانید رکوردهای جدول پایگاه داده را براساس برابری (Equality) فیلتر کنید تا بدین طریق، تنها داده‌هایی در خروجی مشاهده شوند که شرط خاصی برای آنها صادق است. 

USE Northwind;

SELECT *
FROM Products
WHERE CategoryID = 1;

در مثال فوق، ابتدا مشخص کرده‌ایم که برای اجرای دوره کوئری نویسی پیشرفته از پایگاه داده Northwind استفاده شود. با اجرای این کوئری، آیتم‌هایی از جدول محصولات (Products) استخراج می‌شوند که CatgegoryID آنها برابر ۱ باشند.

فیلترسازی رکوردها بر اساس برابری

۲- فیلترسازی رکوردها براساس نابرابری

شما می‌توانید عبارت Where در SQL Server را به گونه‌‌های مختلفی استفاده کنید. یکی از این موارد، اعمال فیلتر براساس نابرابر بودن است. برای درک بهتر، به مثال زیر توجه شود:

USE Northwind;

SELECT *
FROM Products
WHERE UnitPrice > 20;

با اجرای کوئری فوق، محصولاتی در خروجی نمایش داده می‌شوند که UnitPrice آنها بیش‌تر از ۲۰ دلار است.

فیلترسازی رکوردها بر اساس نابرابری

۳- ادغام چند شرط با کمک عملگرهای منطقی

با استفاده از عملگرهای منطقی (Logical Operators)، می‌توان چند شرط مختلف را در بخش Where از کوئری در نظر گرفت.

 USE Northwind;

SELECT *
FROM Products
WHERE CategoryID = 1 AND UnitPrice > 20;

در مثال فوق، این کوئری تنها محصولاتی را استخراج می‌کند که CategoryID آن‌ها برابر با ۱ و UnitPrice آن بزرگ‌تر از ۲۰ دلار باشند. این یعنی، عملگر منطقی AND، به منظور ادغام دو شرط در عبارت Where به کار رفته است.

ادغام چند شرط با کمک عملگرهای منطقی

۴- تطبیق الگو (Pattern Matching)

در SQL Server، می‌توان عملگر Like را به منظور تطبیق الگو در مقادیر رشته استفاده کرد. به این ترتیب، این امکان وجود دارد که رکوردها را براساس یک الگوی خاص فیلتر کرد. برای نمایش دنباله‌ای از کاراکترها از % و برای یک تک کاراکتر از _ استفاده می‌شود.

USE Northwind;

SELECT *
FROM Customers
WHERE CompanyName LIKE 'S%';

با اجرای کوئری فوق، دیتای مربوط به مشتریانی استخراج می‌شود که نام شرکت آنها با حرف S آغاز می‌شوند.

تطبیق الگو (Pattern Matching)

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

USE Northwind;

SELECT *
FROM Customers
WHERE ContactName LIKE '_a%';

در مثال فوق، ستون‌هایی از جدول مشتریان استخراج می‌شوند که ContactName در آن‌ها، دارای یک کاراکتر منفرد در موقعیت اول، به دنبال آن حرف ‘a’ و سپس هر دنباله‌ای از کاراکترها است.

تطبیق الگو (Pattern Matching)

۵- فیلترسازی داده ها براساس محدوده (Range)

می‌توان با استفاده از عملگر Between، رکوردهای جدول را براساس یک محدوده مقادیر مشخص، فیلتر کرد.

به‌عنوان مثال، با اجرای کوئری زیر، محصولاتی استخراج می‌شوند که UnitPrice آنها بین بازه ۲۰ تا ۵۰ دلار باشد.

USE Northwind;

SELECT *
FROM Products
WHERE UnitPrice BETWEEN 20 AND 50;

مشابه تصویر زیر، خروجی قابل مشاهده خواهد بود.

فیلترسازی داده ها بر اساس محدوده (Range)

۶- بررسی مقادیر تهی (NULL)

شما می‌توانید با استفاده از عبارت Where در SQL Server ، وجود مقادیر NULL را بررسی کنید. در مثال زیر، سفارش‌هایی استخراج می‌شوند که مقدار ShipRegion آنها برابر با NULL است.

USE Northwind;

SELECT *
FROM Orders
WHERE ShipRegion IS NULL;

خروجی حاصل از اجرای کوئری فوق، مشابه تصویر زیر خواهد بود.

بررسی مقادیر تهی (NULL)

۷- فیلترسازی داده ها براساس عضویت در مجموعه

عملگر IN در SQL Server، به شما این امکان را می‌دهد که داده‌ها را براساس عضویت مجموعه (Set Membership) فیلتر کنی؛ این یعنی، می‌توان لیستی از مقادیر را تعیین کرده و با اجرای کوئری، نتایج مطابق با مقادیر مذکور را مشاهده کرد.

USE Northwind;

SELECT *
FROM Products
WHERE CategoryID IN (1, 2, 3);

با اجرای کوئری فوق، اطلاعات محصولاتی استخراج می‌شوند که CategoryID آن‌ها ۱، ۲ یا ۳ است.

فیلترسازی داده ها بر اساس عضویت در مجموعه

۸- ترکیب چند شرط مختلف

عبارت Where در SQL Server ، این قابلیت را به شما می‌دهد که چند شرط را به‌صورت ترکیبی لحاظ کنید. به کوئری زیر توجه کنید:

USE Northwind;

SELECT *
FROM Customers
WHERE Country = 'USA' AND (ContactTitle = 'Owner' OR ContactTitle = 'Manager');

با اجرای کوئری فوق، اطلاعات مشتریانی استخراج می‌شوند که Country آن‌ها USA و ContactTitle آنها Owner یا Manager هستند. در این مثال، عملگر منطقی AND و OR به هدف ادغام شرط‌ها به کار می‌روند و خروجی آن مشابه زیر خواهد بود.

ترکیب چند شرط مختلف

۹- حذف رکوردهای مشخص

می‌توان دستور Delete و عبارت Where در SQL Server را به همراه هم استفاده کرد تا رکوردهای خاصی از جداول پایگاه داده حذف شوند.

USE Northwind;

DELETE FROM Products
WHERE CategoryID = 8;

کوئری فوق، تمامی رکوردهایی را از جدول محصولات حذف می‌کند که CategoryID آن‌ها برابر با ۸ است. افراد علاقه‌مند می‌توانند با مطالعه مقاله معرفی پرکاربردترین دستورات SQL Server، دانش خود را در زمینه کوئری‌نویسی گسترش دهند.

حذف رکوردهای مشخص

سخن پایانی

عبارت Where در SQL Server یکی از موارد پایه و بنیادی از این سیستم مدیریت پایگاه داده محسوب می‌شود و به کمک آن می‌توان کوئری‌ها را براساس شرایط خاص اجرا کرد. در این مقاله، کاربردهای Where به‌همراه مثال‌های قابل درک و خروجی آنها شرح داده شدند. ما در نیک آموز منتظر نظرات ارزشمند شما درباره این مقاله هستیم.

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

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

اولین نفر باش

title sign
دانلود مقاله
عبارت Where در SQL Server + بررسی ساختار و کاربردها
فرمت PDF
11 صفحه
حجم 1/3 مگابایت
دانلود مقاله
گوش به زنگ یلدا
title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
401 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
title sign
معرفی محصول
title sign
دیدگاه کاربران

هر روز یک ایمیل، هر روز یک درس
آموزش SQL Server بصورت رایگان
همین حالا فرم زیر را تکمیل کنید
دانلود رایگان جلسه اول
نیک آموز علاوه بر آموزش، پروژه‌های بزرگ در حوزه هوش تجاری و دیتا انجام می‌دهد.
close-link