با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره آموزش کامل SQL را دنبال می کنند. تاکنون شما را با عملگر LIKE که در جستجوهایی ریز و با الگوی خاص ، بسیار کارایی دارد آشنا کردیم. ممکن است گاهی اوقات شما نیاز داشته باشید که در دستور WHERE چندین مقدار را برای جستجو در جداول بانک اطلاعاتی ، تعریف کنید. شاید در چنین مواقعی از دستوراتی نظیر AND یا OR استفاده کنید. اما زمانی که تعداد مقادیر تعریف شده زیاد شود، استفاده از این دستورات حجم کدها را زیاد و کمی پیچیده می کند. ما در مبحث آشنایی و کار با عملگر IN در SQL و ساختار عملگر IN در SQL ، شما را با عملگر دیگری در این زمینه،آشنا می کنیم.
عملگر IN به شما اجازه می دهد که چندین مقدار را در یک شرط WHERE مشخص کنید.
عملگر IN یک دستور کوتاه، برای شرط های چندگانه است.
1 2 3 | SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...); |
یا به صورت زیر:
1 2 3 | SELECT column_name(s) FROM table_name WHERE column_name IN (SELECT STATEMENT); |
جدول زیر ، بخشی از رکوردهای جدول “Customers” است. که ما در مثال های این آموزش، از آن استفاده خواهیم کرد:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
۱ | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | ۱۲۲۰۹ | Germany |
۲ | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | ۰۵۰۲۱ | Mexico |
۳ | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | ۰۵۰۲۳ | Mexico |
۴ | Around the Horn | Thomas Hardy | ۱۲۰ Hanover Sq. | London | WA1 1DP | UK |
۵ | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Swede |
مثال زیر تمام رکوردهای جدول Customers را که فیلد Country آنها، برابر با یکی از مقادیر “Germany”, “France” و “UK” باشد را نمایش می دهد:
1 2 | SELECT * FROM Customers WHERE Country IN ('Germany', 'France', 'UK'); |
مثال زیر تمام رکوردهای جدول Customers را که فیلد Country آنها، برابر با یکی از مقادیر “Germany”, “France” و “UK” نباشد را نمایش می دهد:
1 2 | SELECT * FROM Customers WHERE Country NOT IN ('Germany', 'France', 'UK'); |
مثال زیر تمام رکوردهای جدول Customers را که فیلد Country آنها در جدول Suppliers نیز موجود باشد را نمایش می دهد:
1 2 | SELECT * FROM Customers WHERE Country IN (SELECT Country FROM Suppliers); |
در این بخش نیز شما را با عملگر IN ، که برای جستجوی مقادیر چندگانه در دستور WHERE بسیار کاربرد دارد. آشنا کردیم. همچنین از این دستور در دستورات SELECT های تو در تو نیز، استفاده می شود. امیدواریم که مباحث آشنایی و کار با عملگر IN در SQL مورد توجه و استفاده ی شما قرار گرفته باشد.