কম্পিউটার টিউটোরিয়াল

MySQL-এ "TRUE OR TRUE AND FALSE" এক্সপ্রেশন কেন TRUE ফেরত দেয় (অপারেটর প্রাধান্য)

MySQL-এ বুলিয়ান এক্সপ্রেশন TRUE OR TRUE AND FALSE এর ফলাফল TRUE (1) হয়, কারণ AND অপারেটরের প্রাধান্য (precedence) OR-এর চেয়ে বেশি।

মূল্যায়ন ক্রম

  1. প্রথমে AND মূল্যায়ন: TRUE AND FALSE = FALSE (0)
  2. তারপর OR মূল্যায়ন: TRUE OR FALSE = TRUE (1)

তাই এক্সপ্রেশনটি আসলে এইভাবে গ্রুপ হয়: TRUE OR (TRUE AND FALSE)।

ধাপে ধাপে যাচাই

mysql> SELECT (TRUE AND FALSE);
+------------------+
| (TRUE AND FALSE) |
+------------------+
| 0                |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT (TRUE OR FALSE);
+-----------------+
| (TRUE OR FALSE) |
+-----------------+
| 1               |
+-----------------+
1 row in set (0.00 sec)
mysql> SELECT (TRUE OR TRUE AND FALSE);
+--------------------------+
| (TRUE OR TRUE AND FALSE) |
+--------------------------+
| 1                        |
+--------------------------+
1 row in set (0.00 sec)

অপারেটর প্রাধান্য তালিকা (উচ্চ থেকে নিম্ন):

  • INTERVAL, BINARY, COLLATE
  • ! (NOT)
  • - (UNARY MINUS), ~
  • ^
  • *, /, DIV, %, MOD
  • +, -
  • <<, >>
  • &
  • |
  • =, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
  • BETWEEN, CASE, WHEN, THEN, ELSE
  • NOT
  • AND
  • OR
  • XOR

সর্বোত্তম অনুশীলন: যেকোনো জটিল বুলিয়ান এক্সপ্রেশনে বন্ধনী (()) ব্যবহার করে প্রাধান্য স্পষ্ট করুন: (TRUE OR TRUE) AND FALSE = FALSE, TRUE OR (TRUE AND FALSE) = TRUE।

  1. NAT কী, এটি কীভাবে কাজ করে এবং কেন ব্যবহার করা হয়?

  2. পাইথন অপারেটর != এবং is not-এর পার্থক্য কী?

  3. হার্ডওয়্যার অ্যাক্সিলারেশন কী এবং এটি কেন গুরুত্বপূর্ণ

  4. র‍্যাম টাইমিং কী এবং এটি কেন গুরুত্বপূর্ণ?