عملگر IN
عملگر IN به شما این امکان را می دهد که چندین ارزش را در عبارت WHERE مشخص کنید.
نکته اضافه: از NOT IN هم می توانید استفاده کنید.
فرم عملگر IN:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
FROM table_name
WHERE column_name IN (value1,value2,...)
مثال:
در جدول Persons:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
می خواهیم افرادی را که نام خانوادگی آنها "Hansen" یا "Pettersen" می باشد را انتخاب کنیم:
از دستور زیر استفاده می کنیم:
SELECT * FROM Persons
WHERE LastName IN ('Hansen','Pettersen')
WHERE LastName IN ('Hansen','Pettersen')
جدول نتایج به شکل زیر خواهد بود:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه داده SQLServer کلیک کنید.
SELECT * FROM Persons
WHERE LastName LIKE ('Hansen','Pettersen')
یا این؟
SELECT * FROM Persons
WHERE LastName LIKE '[Hansen]' or LIKE '[Pettersen]'
Incorrect syntax near ','.
کوئری 2: این کوئری نیز به خاطر اینکه در قسمت دوم شرط، یعنی بعد از OR نام ستون را نیاورده اید، مشکل دارد و با خطای زیر مواجه می شوید:Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'LIKE'.
نهایتاً، بهترین راه، با توجه به کوئری تون، استفاده از عملگر IN بجای Like است.
یک مورد اشکالی که در تمام سایت مشاهده می شود این است که منوی فهرست دروس که در سمت راست قرار دارد
به درستی فعال نمی باشد و active بودن آن درست اعمال نمی شود مثلا در همین صفحه مقدمه فعال است!
لطفا چک بفرمایید.
همچنین منوی فعال نباید لینک باشد.
با تشکر
بنابراین آیتم فعال یا active به قول آقای مرادیان، اشتباهی نشان داده می شود.
راه حل: لغو کردن عملیات کش برای لیست سمت راست، البته این کار باعث کند شدن صفحات می شود ولی خوب چاره ای نیست ...!