بررسی دستور IN
این دستور اصولاً در یک شرط به کار گرفته میشود و مشخص میکند چه گزینههایی باید در خروجی نمایش داده شود، شمای کلی دستور IN بهصورت زیر است:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...) ;
روش دیگری نیز برای بهکارگیری دستور IN وجود دارد که شکل کلی آن بهصورت زیر است:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT STATEMENT);
مثال اول – بررسی دستور IN
SELECT * FROM Customers
WHERE City NOT IN ('London','Tehran') ;
در مثال بالا، ستونهایی در خروجی چاپ خواهد شد که دارای شهرهای London و Tehran نباشند، چون پیش از دستور IN، دستور NOT به کار برده شده است و به این دلیل شرط منفی خواهد شد در خروجی شکل ۴۰ -۳ این موضوع را مشاهده میکنید.
شکل ۴۰-۳ بررسی دستور IN
۳-۱-۵-۱۰ بررسی دستور TOP
این دستور برای نمایش تعداد سطر در خروجی کاربرد دارد که دارای گزینههای مختلفی است و شکل کلی آن را در زیر مشاهده میکنید:
SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;
مثال اول – بررسی دستور TOP
SELECT TOP ۴ * FROM Customers;
در دستور بالا، ۴ سطر از جدول Customers به مانند شکل ۴۱-۳ در خروجی چاپ خواهد شد.
شکل ۴۱-۳ بررسی دستور TOP
مثال دوم – استفاده از OFFSET
SELECT * FROM Customers
ORDER BY CustomerID
OFFSET ۲ ROWS;
برای استفاده از دستور OFFSET حتماً باید قبل از آن از دستور ORDER BY استفاده کنید تا ID مورد نظر منظم شود و بعد میتوانید از دستور OFFSET استفاده کنید؛ توجه داشته باشید که این دستور از شمارهای که در مقابل آن نوشته میشود در جدول مورد نظر شمارههای بعد از آن را در خروجی چاپ میکنند، مانند دستور بالا که شمارهی ۲ نوشته شده است، اما از شمارهی ۳ به بعد در خروجی چاپ خواهد شد، اگر به شکل ۴۲-۳ توجه کنید این موضوع را مشاهده میکنید؛ توجه داشته باشد که دستور ROWS به ردیفها اشاره دارد.
شکل ۴۲-۳ بررسی OFFSET
مثال سوم – استفاده از دستورات FETCH و PRESENT
SELECT * FROM Customers
ORDER BY CustomerID
OFFSET ۲ ROWS
FETCH FIRST ۳ ROWS ONLY;
این دستور از چند قسمت تشکیل شده است؛ در خط اول با دستور SELECT، جدول Customers انتخاب شده و در خط دوم، CustomerID با دستور ORDER BY مرتب میشود، بعد از مرتب شدن CustomerID با دستور OFFSET مشخص میکنیم که از سطر سوم به بعد در خروجی چاپ شود و در خط آخر نیز مشخص میکنیم که چند سطر در خروجی چاپ شود که این موضوع را در شکل ۴۳-۳ مشاهده میکنید.
شکل ۴۳-۳ بررسی دستور FETCH و PRESENT
مثال چهارم – استفاده از WHERE به همراه TOP
SELECT TOP ۳ * FROM Customers
WHERE Country='Germany';
در دستور بالا با استفاده از TOP تعداد خروجی کار مشخص شده است، یعنی اگر سطر مورد نظر کشورش Germany باشد در خروجی چاپ خواهد شد، اما تنها ۳ سطر آن چاپ خواهد شد و اگر بیشتر باشد، چاپ نخواهد شد که در شکل ۴۴-۳ این موضوع را مشاهده میکنید.
شکل ۴۴-۳ بررسی دستور TOP
۳-۱-۵-۱۱ بررسی دستور MIN and MAX
این دستور کمترین و بیشترین مقدار در یک ستون را برمیگرداند که در زیر شکل کلی آن را مشاهده میکنید:
MIN
SELECT MIN(column_name)
FROM table_name
WHERE condition;
MAX
SELECT MAX(column_name)
FROM table_name
WHERE condition;
مثال یک – دستور MIN & MAX
SELECT MIN(Price)
FROM Customers;
SELECT MAX(Price)
FROM Customers;
در دستور بالا، دو عدد MIN و MAX از ستون Price در خروجی چاپ خواهد شد که این موضوع را در شکل ۴۵-۳ مشاهده میکنید.
شکل ۴۵-۳ بررسی دستور MIN و MAX
نکتهی مهم:
توجه کنید که ایجاد Query باید در مسیر درست انجام شود، اگر بهمانند شکل ۴۶-۳ بر روی SQLSERVER کلیک راست کنید و گزینهی New Query را انتخاب کنید و بعد دستورات بالا را در آن اجرا کنید با خطای شکل ۴۷-۳ مواجه خواهید شد که دلیل آن نیز این است که جدول Customers در زیرمجموعهی دیگری قرار دارد و حتماً باید بر روی دیتابیس مورد نظر این دستور را اجرا کنید.
شکل ۴۶-۳ ایجاد Query
شکل ۴۷-۳ بررسی دستور MIN و MAX
۳-۱-۵-۱۲ بررسی دستور COUNT،AVG و SUM
شکل کلی دستور Count بهصورت زیر است:
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
شکل کلی دستور AVG بهصورت زیر است:
SELECT AVG(column_name)
FROM table_name
WHERE condition;
شکل کلی دستور SUM بهصورت زیر است:
SELECT SUM(column_name)
FROM table_name
WHERE condition;
برای هر یک از دستورات بالا، یک مثال را با هم بررسی میکنیم:
مثال اول – بررسی دستور Count
SELECT * From Customers;
SELECT COUNT(PRICE)
FROM Customers;
در خط اول، کل جدول Customers در خروجی چاپ خواهد شد و در خط بعدی با دستور COUNT، تعداد موجودی در ستون Price مشخص خواهد شد که در شکل ۴۸-۳ این موضوع را مشاهده میکنید؛ در قسمت دوم عدد ۸ نوشته شده است که تعداد موجودی در ستون Price است.
شکل ۴۸-۳ بررسی دستور COUNT
مثال دوم – بررسی دستور AVG
SELECT AVG(PRICE)
FROM Customers;
در دستور بالا، میانگین اعدادی ستون Price حساب شده است و در خروجی چاپ خواهد شد که این موضوع را در شکل ۴۹-۳ مشاهده میکنید، اگر توجه کنید با ماشین حساب جمع کل ستون Price را محاسبه و تقسیم بر ۸ کردیم که نتیجهی آن عدد ۳۱ شده است.
شکل ۴۹-۳ بررسی دستور AVG
مثال سوم – بررسی دستور SUM
SELECT SUM(PRICE)
FROM Customers;
این دستور، کل ستون Price را جمع خواهد کرد که در شکل ۵۰-۳ این موضوع را مشاهده میکنید.
شکل ۵۰-۳ بررسی دستور SUM