اپراتورهای IN و BETWEEN در زبان SQL

خرید بک لینک

با سلام خدمت شما دوستان گرامی، امروز میخواهیم در مورد یکی دیگر از اپراتورهای زبان SQL به نام IN (به معنی «در» یا «درون») صحبت کنیم.

اپراتور IN در SQL

این اپراتور به شما اجازه می دهد که در شرط WHERE از مقادیر مختلفی استفاده کنید. به عبارت دیگر اپراتور IN به عنوان روش کوتاه تر نوشتن چندین مقدار مختلف با اپراتور OR می باشد. ساختار کلی این اپراتور به شکل زیر است:

البته به این شکل نیز استفاده می شود:

بیایید قبل از صحبت در مورد مثال ها نگاهی به جدول پایگاه داده ی Northwind بیندازیم:

CountryPostalCodeCityAddressContactNameCustomerNameCustomerID
Germany12209BerlinObere Str. 57Maria AndersAlfreds Futterkiste1
Mexico05021México D.F.Avda. de la Constitución 2222Ana TrujilloAna Trujillo Emparedados y helados2
Mexico05023México D.F.Mataderos 2312Antonio MorenoAntonio Moreno Taquería3
UKWA1 1DPLondon120 Hanover Sq.Thomas HardyAround the Ho4
SwedenS-958 22LuleåBerguvsvägen 8Christina BerglundBerglunds snabbköp5

مثال استفاده از اپراتور IN

مثال اول – دستور SQL زیر تمام مشتریانی را انتخاب می کند که در Germany یا France و یا UK باشند:

برای اجرای این دستور در پایگاه داده ی Northwind به این لینک مراجعه کنید.

اگر بخواهیم این کار را با اپراتور OR انجام دهیم باید مدام آن را تکرار کنیم (OR ‘France’ Or ‘UK’ OR و ….)


مثال دوم – دستور SQL زیر دقیقا برعکس دستور بالاست و تمام مشتریانی را انتخاب می کند که در Germany یا France و یا UK نباشند:

برای اجرای این دستور در پایگاه داده ی Northwind به این لینک مراجعه کنید.


مثال سوم – این مثال کمی پیشرفته تر است و در آن از ساختار کلی دوم استفاده کرده ایم. در این مثال می گوییم تمام مشتریانی را انتخاب کن که کشورشان با کشور Suppliers یکی باشد. در جدول ما Supplier ها (به معنی «تامین کننده ها») شرکت هایی هستند که محصولات خود را از آن ها می خریم. در واقع محصولات را برای ما تامین می کنند:

برای اجرای این دستور در پایگاه داده ی Northwind به این لینک مراجعه کنید.

توضیح اجرای کد:

  • ابتدا تمام کشور های مربوط به Customers انتخاب می شوند.
  • سپس کد داخل پرانتز، یعنی SELECT Country FROM Suppliers، محاسبه می شود. به عبارت دیگر کد داخل پرانتز اجرا شده و تمام کشور های مربوط به Suppliers انتخاب می شوند.
  • و در آخر این کشور ها با هم مقایسه شده و آن هایی که یکی هستند انتخاب می شوند.

اپراتور BETWEEN در SQL

این اپراتور مقادیری را از بین محدوده ای (range) خاص انتخاب می کند. این مقادیر ممکن است عدد، رشته و تاریخ باشند. یادتان باشد که این اپراتور inclusive است یعنی اگر محدوده ای به آن بدهید، خود اعداد اول و آخر محدوده نیز شامل محدوده خواهند بود.

ساختار کلی اپراتور BETWEEN به این شکل است:

جدول زیر قسمتی از جدول Products در پایگاه داده ی Northwind است:

PriceUnitCategoryIDSupplierIDProductNameProductID
1810 boxes x 20 bags11Chais1
1924 – 12 oz bottles11Chang2
1012 – 550 ml bottles21Aniseed Syrup3
2248 – 6 oz jars21Chef Anton’s Cajun Seasoning4
21.3536 boxes21Chef Anton’s Gumbo Mix5

می خواهیم مثال های اپراتور BETWEEN را روی این جدول اجرا کنیم.

مثال استفاده از اپراتور BETWEEN

مثال اول – دستور SQL زیر تمام محصولاتی (products) را انتخاب می کند که قیمتی بین 10 تا 20 داشته باشند:

برای اجرای این دستور در پایگاه داده ی Northwind به این لینک مراجعه کنید.


مثال دوم – دستور SQL زیر دقیقا برعکس دستور بالاست و تمام محصولاتی (products) را انتخاب می کند که قیمتی بین 10 تا 20 نداشته باشند:

برای اجرای این دستور در پایگاه داده ی Northwind به این لینک مراجعه کنید.


مثال سوم – دستور SQL زیر تمام محصولاتی (products) را انتخاب می کند که قیمتی بین 10 تا 20 داشته باشند و از طرفی CategoryID  شان مساوی با 1 یا 2 یا 3 نباشد:

برای اجرای این دستور در پایگاه داده ی Northwind به این لینک مراجعه کنید.


مثال چهارم – دستور SQL زیر تمام محصولاتی (products) را انتخاب می کند که ProductName شان بین  ‘Caarvon Tigers’ و ‘Mozzarella di Giovanni’ باشد:

برای اجرای این دستور در پایگاه داده ی Northwind به این لینک مراجعه کنید.


مثال پنجم – دستور SQL زیر تمام محصولاتی (products) را انتخاب می کند که ProductName شان بین  ‘Caarvon Tigers’ و ‘Mozzarella di Giovanni’ نباشد:

برای اجرای این دستور در پایگاه داده ی Northwind به این لینک مراجعه کنید.

جدول زیر قسمتی از جدول Orders در پایگاه داده ی Northwind است که میخواهیم دو مثال بعد را روی آن اجرا کنیم:

ShipperIDOrderDateEmployeeIDCustomerIDOrderID
37/4/199659010248
17/5/199668110249
27/8/199643410250
17/9/199638410251
27/10/199647610252

مثال ششم– دستور SQL زیر تمام سفارشاتی (orders ) را انتخاب می کند که OrderDate شان بین ’01-July-1996′ و ’31-July-1996′ باشد:

برای اجرای این دستور در پایگاه داده ی Northwind به این لینک مراجعه کنید.

البته می توان این مثال را به شکل زیر نیز نوشت:

برای اجرای این دستور در پایگاه داده ی Northwind به این لینک مراجعه کنید.

خلاصه ی مقاله

در این قسمت با دو اپراتور جدید در زبان SQL آشنا شدیم: اپراتور IN و اپراتور BETWEEN که کار های مختلفی برای ما انجام می دهند. ما انواع این کارکردها را به ذکر مثال توضیح داده و با ساختارشان کاملا آشنا شدیم. امیدوارم این قسمت مورد قبول شما قرار گرفته باشد.

کارت ویزیت لایه باز...

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

برچسب: نویسنده: بازدید: 141 تاريخ: دوشنبه 13 اسفند 1397 ساعت: 15:46

صفحه بندی