بررسی محدوده ای از مقادیر در عبارت WHERE

برای اینکه بتوانیم محدوده مقادیری را در جلوی عبارت WHERE بررسی کنیم باید از عملگر BETWEEN استفاده کنیم. عملگرهایی ریاضیاتی که در بالا گفتیم تنها یک مقدار را لازم دارند ولی عملگر BETWEEN نیاز به دو مقدار دارد که شروع و پایان محدوده را تعیین می کنند.

بنابراین در دستور بالا شرط employee_id BETWEEN 120 AND 150 در جلوی WHERE باعث می شود تا فهرست تمامی کامندان با شناسه عدد خود ۱۲۰ تا خود شناسه ۱۵۰ نشان داده شوند. توجه کنید در عملگر BETWEEN ابتدا و انتهای دو بازه یا آغاز و پایان بازه در اطراف AND می آیند.

در ادامه همین مطلب عملگرهای AND و OR توضیح داده شده اند و عملگرهای IN و NOT IN نیز در در مطلب بعدی توضیح داده شده اند.

مثالدر جدول محصولات، فهرست تمامی محصولاتی را نشان دهید که قیمت آنها میان ۱۰۰۰۰ تومان تا ۵۰۰۰۰ تومان باشد.

مثالتعداد کاربرانی را نمایش دهید که میزان حقوق سالیانه آنها میان ۲۲۰۰۰ دلار تا ۴۵۰۰۰ هزار دلار باشد.

عملگرهای AND و OR

دستورهایی که تا به حال توضیح دادیم، دستورهای ساده ای بودند که سطرهای خروجی را تنها بر اساس یک تک شرط در خروجی نشان می دادند. برای اینکه بتوانیم فیلترهای پیچده تری برای نمایش سطرها باید از عملگرهای AND و OR در کنار عملگرهای ریاضی و BETWEEN  استفاده کنیم تا بتوانیم چندین شرط را جلوی WHERE بنویسیم. توجه کنید که AND به معنی “وَ” و عملگر OR به معنی “یا” است.

مثالنام خانوادگی و شغل و حقوق کاربری را نشان دهید که شناسه آن ۱۲۲ و نام آن Payam باشد.

مثالنام خانوادگی و شغل و حقوق کاربری را نشان دهید که شناسه آن ۱۲۲ و نام آن Payam و نام خانوادگی آن Kaufling باشد.

مثالشناسه، نام و نام خانوادگی و حقوق تمامی کارمندهایی را فهرست کنید که حقوق آنها بیشتر از ۱۰۰۰۰ و شغل آنها SA_MAN باشد.

مثالتعداد کاربرانی را نمایش دهید که که حقوق آنها بیشتر از ۱۰۰۰۰ و شغل آنها SA_MAN باشد.

بنابراین در عملگر AND برای اینکه سطری جز نتیجه نهایی باشد، باید تمامی شروط را براورده کند، در غیر اینصورت در نتیجه نهایی نخواهد بود. در مقابل عملگر AND عملگر OR قرار دارد که حتی یکی از شرایط براورده شود، سطر جز خروجی نهایی خواهد بود

تابع ()COUNT تعداد سطرهای خروجی را نشان می دهد. در مطلب جداگانه ای تابع به صورت کامل مورد بررسی قرار گرفته است که می توانید از لینک زیر مطالعه کنید.

کاربرد تابع ()COUNT در SQL

مثالفهرست تمامی کاربرانی که نام آنها Amit و یا Payam باشد.

مثالفهرست تمامی کاربرانی را نمایش دهید که شغل آنها یکی از مشاغل SA_MAN یا IT_PROG و حقوق آنها بیش از ۳۰۰۰ دلار باشد.

در کوئری بالا از پرانتز استفاده کرده ایم تو اولویت یک عبارت را بالا ببریم. به عبارت دیگر ابتدا عبارت درون پرانتز تفسیر می شود که معادل با بخش “شغل آنها یکی از مشاغل SA_MAN یا IT_PROG” از متن مثال است و سپس نتیجه آن به عنوان یک مقدار جدید با عملگر AND محاسبه می شود تا نتیحه نهایی حاصل شود

بنابراین از پرانتز گذاری برای تعیین اولویت یک عبارت درون SQL استفاده می شود. به عنوان مثالی دیگر می توانید آخرین کوئری مطلب الحاق کاراکترها و رشته ها را مطالعه کنید.

مثال – فرض کنید جدولی داریم که فهرست محصول هایی را نگهداری می کند. می خواهیم فهرست تمامی محصول هایی را پیدا کنیم که مربوط به شرکت Apple و یا قیمتی بیش از یک میلیون تومان داشته باشند.

مثالفهرست تمامی محصول هایی را نشان دهید که نام تولید کننده آنها کی از گزینه های Apple, HTC, Samsung, Huawei و قیمت آن کمتر از یک میلیون تومان باشد.

همانطور که در چندین کد آخر بالا می بینید برای مشخص کردن چندین عملگر OR با یکدیگر، از پرانتز استفاده کرده ایم.