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