akofaraji.ir
اپراتورهای AND – OR – NOT در SQL
نوشته شده در تاریخ 05 اردیبهشت 1403
نظرات: 0 امتیاز: 6 زمان مطالعه: 24 دقیقه

 

اپراتورهای AND – OR – NOT

 

ما می توانیم دستور WHERE را با اپراتورهای AND – OR – NOT ترکیب کنیم تا به انعطاف بیشتری برسیم و کدهای SQL را دقیق تر کنیم.

اپراتورهای AND و OR به ما اجازه می دهند شرط های بیشتری به دستور WHERE اضافه کنیم:

  • اگر دستور AND به WHERE اضافه شود، کوئری ما تنها زمانی اجرا می شود که تمام شرط های آن برقرار باشند.
  • اگر دستور OR به WHERE اضافه شود، کوئری ما زمانی اجرا خواهد شد که یکی از شرط های آن برقرار باشد.

 

این مسئله نیازی به توضیح ندارد؛ بگذارید برایتان مثالی بزنم… کلمه ی AND به معنی “و” و کلمه ی OR به معنی “یا” است بنابراین:

Being 18 and male -> معنی: 18 ساله بودن و همچنین مرد بودن

Being 18 or male -> معنی: 18 ساله بودن یا مرد بودن

 

در دو مثال بالا دو شرط داریم؛ یکی مرد یا مذکر بودن و دیگری 18 ساله بودن. اگر از AND استفاده کنیم یعنی فرد هم باید 18 ساله باشد و هم مذکر باشد اما اگر از OR استفاده کنیم یعنی فرد مورد نظر ما یا 18 ساله باشد یا مذکر! تفاوت بسیار فاحش آن را متوجه شدید؟

شاید بپرسید پس اپراتور NOT چه کار می کند؟

اپراتور NOT (به معنی “غیر” یا “بدون” یا “نه” و …) یک شرط را برعکس می کند. بدین معنی که اگر شرط ما FALSE (غلط) باشد آن گاه کوئری اجرا می شود! در ادامه بیشتر توضیح خواهم داد.

 

سوال: کوئری چیست؟

هنگامی که با زبان SQL (یک زبانِ کوئری) یک دستور می نویسید تا به پایگاه داده برود و کاری انجام دهد، یک کوئری نوشته اید!

کوئری در لغت به معنای “درخواست” یا “پرسش” است.

ویکی پدیای فارسی در مورد زبان های کوئری یا پرسمان می گوید:

 

زبان‌های پرسمان (QUERY LANGUAGES) (زبان کوری یا کوئری) زبان‌های برنامه‌نویسی برای اعمال پرسش‌های گوناگون بر پایگاه‌های داده‌ها و سیستم‌های اطلاعات است. به برنامه‌ای رایانه‌ای که حاوی دستورهایی برای پایگاه داده است، پرسمان یا کوئری (به انگلیسی: QUERY) گفته می‌شود.

 

بگذارید به زبان ساده تر برایتان بگویم، تمام دستوراتی که تا این جلسه با آن ها کار کرده ایم کوئری بوده اند. البته بنده به شما پیشنهاد می کنم به جای “پرسمان” از همان کلمه ی کوئری استفاده کنید تا از سر در گمی و سوء تفاهم های احتمالی دور بمانید!

 

ساختار کلی اپراتورهای AND – OR – NOT

 

قبل از بررسی ساختار های کلی، باید معنی چند کلمه ی انگلیسی را بدانید. گرچه معنی برخی از آن ها را در جلسات قبل و یا همین جلسه توضیح داده ایم اما همه را به صورت یک جا آورده ایم تا به راحتی متوجه معانی دستورات SQL شوید:

 

ستون Column
جدول Table
ردیف Row
شرط Condition
شما معنی اش را “به شکلی که” در نظر بگیرید Where
انتخاب کن Select
از From
و And
یا Or
غیر، نه، نباشد و … Not

 

ساختار کلی (syntax) اپراتور AND به شکل زیر است:

 

ساختار کلی (syntax) اپراتور OR به شکل زیر است:

 

ساختار کلی (syntax) اپراتور NOT به شکل زیر است:

 

اگر دقت کنید، متوجه می شوید که با دانستن زبان انگلیسی به سادگی می توانید کوئری ها را مانند زبان انسانی ترجمه کنید. در واقع کوئری های SQL واقعا ساده هستند و بسیار به زبان انسان ها شبیه می باشند. به طور مثال ساختار کلی OR را برایتان ترجمه می کنم:

SELECT column1, column2, … (ستون های 1 و دو را انتخاب کن)
FROM table_name ((table_name) از جدولِ فلان)
WHERE condition1 OR condition2 OR condition3 …; (به صورتی که شرط 1 یا شرط 2 یا شرط 3 و … برقرار باشد)

 

مثال ها

 

مثال اول از اپراتور AND

به کد زیر دقت کنید:

آیا می دانید معنی این کد چیست و چه کاری می کند؟ میخواهم این کد را تحت اللفظی و فقط بر اساس کلمات اش ترجمه کنم تا بهتر آن را درک کنید.

این کد به این صورت ترجمه می شود که “از جدول Customers، هر چیزی (*) را انتخاب کن به صورتی که مقدار Country مساوی با Germany و مقدارِ City برابر با Berlin باشد”

برای مشاهده ی نتیجه ی کد بالا روی این لینک کلیک کنید.


 

مثال دوم از اپراتور OR

به کد زیر دقت کنید:

ترجمه ی این کد می شود “از جدول Customers، هر چیزی (*) را انتخاب کن به صورتی که مقدارِ City برابر با Berlin یا München باشد”

برای مشاهده ی نتیجه ی کد بالا روی این لینک کلیک کنید.


 

مثال سوم از اپراتور NOT

بالاتر گفتیم که اپراتور NOT شرط را برعکس می کند. در اینجا هم همین طور است. معنی کد بالا این است که همه را انتخاب کن، به غیر از آن هایی که در آن ها مقدار country برابر Germany باشد. در واقع تمام کشور ها به جز آلمان انتخاب می شوند.

برای مشاهده ی نتیجه ی کد بالا روی این لینک کلیک کنید.

نکته: می توانید تمام این اپراتورها را به هم ترکیب کنید و در یک شرط به کار ببرید:

 

این کد می گوید مقدار Country برابر با Germany بوده و مقدار City نیز یا Berlin باشد و یا München.

برای مشاهده ی نتیجه ی کد بالا روی این لینک کلیک کنید.

 

مثال دیگر:

 

این کد تمام کشور هایی را انتخاب می کند که مقدارشان نه Germany باشد و نه USA.

برای مشاهده ی نتیجه ی کد بالا روی این لینک کلیک کنید.

 

خلاصه ی مقاله

در این قسمت با اپراتورهای AND و OR و NOT آشنا شدیم و فهمیدیم می توان با استفاده از این اپراتورها یا ترکیبی از آن ها، انعطاف پذیری بسیار بیشتری به دستورات SQL خود بدهیم. امیدوارم از این قسمت لذت برده باشید.

 

منبع: سایت روکسو

 

اگر احساس می کنید این مطلب برای شما مفید بود ، از 1 تا 10 به این مطلب امتیاز دهید

دیدگاه کاربران در مورد این مطلب

ثبت نظر
به نظر خوب میاد!
لطفا نام را وارد کنید
@
لطفا یک ایمیل منحصر به فرد و معتبر انتخاب کنید.
لطفا متن با کلمات و معانی مفهوم دار وارد نمایید