آموزش SQL

عملگر IN در اصل می گوید که ستون باید شامل یکی از مقادیر روبروی IN باشد.

به عبارت دیگر IN به شکل چندین OR عمل می کند، یعنی ستون شامل یا مقدار اول یا مقدار دوم یا مقدار سوم و ... باشد.

نحوه کلی استفاده از عملگر IN به شکل زیر می باشد:

SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...);

در مثال زیر می خواهیم رکوردهایی از جدول customers بازگردانده شوند که شهر آن ها یا اهواز یا شیراز یا اصفهان باشند:

SELECT * FROM customers WHERE City IN ('ahwaz', 'shiraz', 'esfahan');

اگر بخواهیم بگوییم که رکوردهایی را بازگردان که هیچ یک از این سه مقدار نباشد، یا به عبارت دیگر NOT IN را بخواهیم بکار ببریم مثال به شکل زیر تغییر می کند:

SELECT * FROM customers WHERE City NOT IN ('ahwaz', 'shiraz', 'esfahan');

عملگر IN می تواند به شکل زیر با SELECT ترکیب شود:

SELECT * FROM Customers WHERE CustomerID IN (SELECT CustomerID FROM Orders); در مثال بالا گفته شده که همه مشتری هایی را برگردان که CustomerID آن ها در جدول Orders وجود دارد. یعنی مشتری هایی که حداقل یک سفارش داشته باشند.

و همچنین مثال بالا اگر با NOT به شکل زیر ترکیب شود، مشتری هایی را بر می گرداند که هیچ سفارشی نداشته باشند:

SELECT * FROM Customers WHERE CustomerID NOT IN (SELECT CustomerID FROM Orders);