عملگر in در SQL
عملگر 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 کلیک کنید.
- نوشته شده توسط مهندس تمیزی
- بازدید: 23400
دیدگاهها
این دستور هم درست است؟
SELECT * FROM Persons
WHERE LastName LIKE ('Hansen','Pettersen')
یا این؟
SELECT * FROM Persons
WHERE LastName LIKE '[Hansen]' or LIKE '[Pettersen]'
کوئری 1: کاملاً اشتباه است و با خطای زیر موجه می شوید:Msg 102, Level 15, State 1, Line 2
Incorrect syntax near ','.
کوئری 2: این کوئری نیز به خاطر اینکه در قسمت دوم شرط، یعنی بعد از OR نام ستون را نیاورده اید، مشکل دارد و با خطای زیر مواجه می شوید:Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'LIKE'.
نهایتاً، بهترین راه، با توجه به کوئری تون، استفاده از عملگر IN بجای Like است.
سلام
یک مورد اشکالی که در تمام سایت مشاهده می شود این است که منوی فهرست دروس که در سمت راست قرار دارد
به درستی فعال نمی باشد و active بودن آن درست اعمال نمی شود مثلا در همین صفحه مقدمه فعال است!
لطفا چک بفرمایید.
همچنین منوی فعال نباید لینک باشد.
با تشکر
سلام، بله حق با شماست. در اولین فرصت مشکل رفع خواهد شد.
طبق بررسی که بنده کردم، متوجه شدم، مشکل ذکر شده توسط آقای مرادیان عزیز به خاطر کش شدن لیست سمت راست است ...! بنابراین تا وقتی که زمان انقضای کش فرا نرسیده باشد، اطلاعات از این قسمت لود می شود.
بنابراین آیتم فعال یا active به قول آقای مرادیان، اشتباهی نشان داده می شود.
راه حل: لغو کردن عملیات کش برای لیست سمت راست، البته این کار باعث کند شدن صفحات می شود ولی خوب چاره ای نیست ...!