آموزش شبکه و برنامه‌نویسی

با ما بروز باشید

SQL Server 2019 - درس هشتم - بررسی دستورات LIKE, BETWEEN, IN, TOP

 3-1-5-7 بررسی دستور LIKE

 

با این دستور می‌توانید یک Pattern ایجاد کنید، یعنی اینکه مثلاً مشخص کنید که ستون‌هایی که با حرف P شروع می‌شوند در خروجی چاپ شوند؛ در زیر شمای کلی این دستور را مشاهده می‌کنید:

 SELECT column1, column2, ...
FROM table_name
WHERE column LIKE pattern;

 در این دستور و در شرط مورد نظر به این نکته اشاره شده است که خروجی کار باید طبق Pattern مورد نظر باشد، در لیست زیر چند نمونه از عملگرهای دستور LIKE را مشاهده می‌کنید که با % و _ اجرا شده‌اند.

 جدول 7-3  عملگر Like

 

مثال اول a%

 در این قسمت می‌خواهیم گزینه‌هایی را پیدا کنیم که با حرف a شروع می‌شوند، در دستور زیر قسمت Customer Name بررسی می‌شود و اگر کلمه‌ای با a شروع شود را در خروجی به‌مانند شکل 34-3 چاپ می‌کند:

 

SELECT * FROM Customers

 WHERE "Customer Name" LIKE 'a%';

 

 

 شکل 34-3 بررسی دستور LIKE

 

مثال دوم - %a

 در این مثال در خروجی در ستون Customers Name، کلماتی که به a ختم می‌شوند در خروجی چاپ خواهند شد.

 3-1-5-8 بررسی دستور BETWEEN

 این دستور مقدار مشخص­شده بین دو محدوده را در خروجی نمایش می‌دهید، شکل کلی این دستور به‌صورت زیر می‌باشد:

 

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

 برای اینکه دستور BETWEEN را اجرا کنیم باید یک ستون جدید به جدول اصلی خود اضافه کنیم؛ برای این کار طبق شکل 35-3 بر روی جدول مورد نظر خود کلیک راست کنید و قسمت Design را انتخاب کنید و یک ستون با عنوان Price و از نوع int وارد کنید.

 

 

شکل 35-3 بررسی دستور BETWEEN

 

در ادامه باید به‌مانند شکل 36-3 اطلاعات ستون Price را وارد کنید؛ برای تمرین می‌توانید از طریق دستور INSERT این کار را انجام دهید.

شکل 36-3 نمایش جدول Price

 

 

مثال اول دستور BETWEEN

 SELECT * FROM Customers

 WHERE Price BETWEEN 10 AND 20;

 

 در دستور بالا، قیمت بین 10 تا 20 در خروجی نمایش داده خواهد شد که این موضوع را در شکل 37-3 مشاهده می‌کنید:

 

 شکل 37-3  بررسی دستور BETWEEN

 مثال دوم

 

SELECT * FROM Customers

 WHERE "Contact Name" BETWEEN 'A' and 'Z';

 

 در دستور بالا و در ستون Contact Name، اسامی که با حروف A تا Z شروع شوند در خروجی چاپ خواهد شد.                

 مثال سوم منظم ‌کردن خروجی

 

SELECT * FROM Customers

 WHERE "Contact Name" BETWEEN 'Alfred' and 'Juan'

 ORDER BY "Contact Name";

 در دستور بالا، یک دستور جدید اضافه شده است با نام ORDER BY که این دستور برای منظم‌ کردن ستون خروجی است که این موضوع را در شکل 38-3 مشاهده می‌کنید.

 

شکل 38-3 بررسی دستور BETWEE

 

3-1-5-9 بررسی دستور 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 به کار برده شده است و به‌ این دلیل شرط منفی خواهد شد.

شکل 39-3  بررسی دستور IN

 

3-1-5-10 بررسی دستور TOP

 

این دستور برای نمایش تعداد سطر در خروجی کاربرد دارد که دارای گزینه‌های مختلفی است و شکل کلی آن را در زیر مشاهده می‌کنید:

 

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

 

مثال اول - بررسی دستور TOP

  SELECT TOP 4 * FROM Customers;

 

 در دستور بالا، 4 سطر از جدول Customers به‌مانند شکل 40-3 در خروجی چاپ خواهد شد.

 

 شکل 40-3 بررسی دستور TOP

 

 مثال دوم استفاده از OFFSET

 SELECT * FROM Customers

 ORDER BY CustomerID

 OFFSET 2 ROWS;

 برای استفاده از دستور OFFSET حتماً باید قبل از آن از دستور ORDER BY استفاده کنید تا ID مورد نظر منظم شود و بعد می‌توانید از دستور OFFSET استفاده کنید؛ توجه داشته باشید که این دستور از شماره‌ای که در مقابل آن نوشته می‌شود در جدول مورد نظر شماره‌های بعد از آن را در خروجی چاپ می‌کنند، مانند دستور بالا که شماره‌ی 2 نوشته شده است، اما از شماره‌ی 3 به بعد در خروجی چاپ خواهد شد، اگر به شکل 41-3 توجه کنید این موضوع را مشاهده می‌کنید؛ توجه داشته باشد که دستور ROWS به‌ ردیف‌ها اشاره دارد.

 

شکل 41-3   بررسی OFFSET

 

مثال سوم استفاده از دستورات FETCH و PRESENT

 

SELECT * FROM Customers

 ORDER BY CustomerID

 OFFSET 2 ROWS

 FETCH FIRST 3 ROWS ONLY;

 این دستور از چند قسمت تشکیل شده است؛ در خط اول با دستور SELECT، جدول Customers انتخاب شده و در خط دوم، CustomerID با دستور ORDER BY مرتب می‌شود، بعد از مرتب شدن CustomerID با دستور OFFSET مشخص می‌کنیم که از سطر سوم به بعد در خروجی چاپ شود و در خط آخر نیز مشخص می‌کنیم که چند سطر در خروجی چاپ شود که این موضوع را در شکل 42-3 مشاهده می‌کنید.

 

شکل 42-3 بررسی دستور FETCH و PRESENT

 

مثال چهارم استفاده از WHERE به همراه TOP

 

SELECT TOP 3 * FROM Customers

 WHERE Country='Germany';

 در دستور بالا با استفاده از TOP