Oracle AND & OR Operators 🔗¶
Mentor's Note: Logical operators allow you to build complex rules. Think of
ANDas a strict gatekeeper (must meet all rules) andORas a flexible one (any rule will do). 💡
🌟 The Scenario: The Recruitment Search 👔¶
You are looking for a specific candidate. - AND: "I need someone who lives in Surat AND has 5 years of experience." (Very strict). - OR: "I need someone who knows Java OR Python." (More options).
💻 1. The AND Operator¶
Returns TRUE only if all conditions separated by AND are TRUE.
💻 2. The OR Operator¶
Returns TRUE if any of the conditions separated by OR is TRUE.
SELECT first_name, last_name, hire_date
FROM employees
WHERE department_id = 10
OR department_id = 20;
🏗️ Architect's Note: Precedence & Parentheses 🛡️¶
Oracle processes AND before OR. If you mix them without parentheses, your logic might fail!
- Rule: Always use ( ) to group your logic. It makes the "Execution Plan" clear to both you and the Oracle Optimizer.
-- ❌ Dangerous: Might return IT_PROG staff OR anyone with high salary
WHERE job_id = 'IT_PROG' OR job_id = 'HR_REP' AND salary > 5000;
-- ✅ Secure: Logic is grouped clearly
WHERE (job_id = 'IT_PROG' OR job_id = 'HR_REP') AND salary > 5000;