Bird
Raised Fist0
SQLquery~5 mins

Operator precedence in WHERE in SQL - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does operator precedence mean in a SQL WHERE clause?
Operator precedence determines the order in which SQL evaluates conditions in the WHERE clause. Some operators are checked before others, affecting which rows are selected.
Click to reveal answer
beginner
Which operator has higher precedence: AND or OR in a WHERE clause?
AND has higher precedence than OR. This means conditions joined by AND are evaluated before those joined by OR unless parentheses change the order.
Click to reveal answer
beginner
How can you change the default operator precedence in a WHERE clause?
You can use parentheses () to group conditions and control the order of evaluation, overriding the default precedence rules.
Click to reveal answer
intermediate
Given the WHERE clause: WHERE A = 1 OR B = 2 AND C = 3, which condition is evaluated first?
The condition B = 2 AND C = 3 is evaluated first because AND has higher precedence than OR.
Click to reveal answer
beginner
Why is it important to understand operator precedence in SQL WHERE clauses?
Understanding operator precedence helps you write correct queries that return the expected results by ensuring conditions are evaluated in the intended order.
Click to reveal answer
Which operator is evaluated first in a SQL WHERE clause without parentheses?
ANOT
BOR
CAND
DBETWEEN
In the condition WHERE A = 1 OR B = 2 AND C = 3, which part is evaluated first?
AB = 2 AND C = 3
BA = 1 OR B = 2
CA = 1 OR C = 3
DAll conditions evaluated at the same time
How do parentheses affect operator precedence in WHERE clauses?
AThey have no effect
BThey force evaluation of enclosed conditions first
CThey lower the precedence of operators inside
DThey only affect ORDER BY clauses
Which of these is the correct order of operator precedence in WHERE clauses from highest to lowest?
AOR, AND, NOT
BAND, OR, NOT
CNOT, AND, OR
DAND, NOT, OR
What happens if you mix AND and OR without parentheses in a WHERE clause?
ASQL throws an error
BConditions are evaluated left to right regardless of operator
COR conditions are evaluated before AND conditions
DAND conditions are evaluated before OR conditions
Explain how operator precedence affects the evaluation of conditions in a SQL WHERE clause.
Think about which operators SQL checks first when filtering rows.
You got /3 concepts.
    Describe how to use parentheses to control operator precedence in a WHERE clause and why it might be necessary.
    Consider a query where AND and OR are mixed and the result is unexpected.
    You got /3 concepts.

      Practice

      (1/5)
      1. In SQL, which operator is evaluated first in a WHERE clause without parentheses: AND or OR?
      easy
      A. OR is evaluated before AND
      B. AND is evaluated before OR
      C. Both are evaluated at the same time
      D. It depends on the database system

      Solution

      1. Step 1: Understand SQL operator precedence

        In SQL, AND has higher precedence than OR. This means AND conditions are evaluated before OR conditions when no parentheses are used.
      2. Step 2: Apply to WHERE clause evaluation

        Without parentheses, SQL evaluates all AND conditions first, then applies OR. This affects which rows match the query.
      3. Final Answer:

        AND is evaluated before OR -> Option B
      4. Quick Check:

        Operator precedence: AND > OR [OK]
      Hint: Remember: AND before OR unless parentheses change it [OK]
      Common Mistakes:
      • Thinking OR is evaluated before AND
      • Assuming both have equal precedence
      • Believing evaluation order depends on database
      2. Which of the following WHERE clauses is syntactically correct in SQL?
      easy
      A. WHERE age > 30 OR AND salary < 50000 OR city = 'NY'
      B. WHERE age > 30 AND OR salary < 50000 city = 'NY'
      C. WHERE age > 30 salary < 50000 OR city = 'NY'
      D. WHERE age > 30 AND salary < 50000 OR city = 'NY'

      Solution

      1. Step 1: Check logical operator usage

        WHERE age > 30 AND salary < 50000 OR city = 'NY' uses AND and OR correctly between conditions. Options A, B, and D have misplaced or missing operators.
      2. Step 2: Validate syntax correctness

        SQL requires logical operators between conditions. WHERE age > 30 AND salary < 50000 OR city = 'NY' follows this rule, so it is syntactically valid.
      3. Final Answer:

        WHERE age > 30 AND salary < 50000 OR city = 'NY' -> Option D
      4. Quick Check:

        Logical operators must separate conditions [OK]
      Hint: Operators must be between conditions, no missing or extra words [OK]
      Common Mistakes:
      • Placing AND or OR without conditions
      • Missing operators between conditions
      • Using operators in wrong order
      3. Given the table Employees with columns age, salary, and city, what rows will this query return?
      SELECT * FROM Employees WHERE age > 30 OR salary < 50000 AND city = 'NY';
      medium
      A. Rows where age > 30 or (salary < 50000 and city = 'NY')
      B. Rows where (age > 30 or salary < 50000) and city = 'NY'
      C. Rows where age > 30 and salary < 50000 and city = 'NY'
      D. Rows where age > 30 and (salary < 50000 or city = 'NY')

      Solution

      1. Step 1: Apply operator precedence rules

        Since AND has higher precedence than OR, the condition is evaluated as: age > 30 OR (salary < 50000 AND city = 'NY').
      2. Step 2: Interpret the WHERE clause

        The query returns rows where either age is greater than 30, or both salary is less than 50000 and city is 'NY'.
      3. Final Answer:

        Rows where age > 30 or (salary < 50000 and city = 'NY') -> Option A
      4. Quick Check:

        AND evaluated before OR [OK]
      Hint: AND groups tighter than OR without parentheses [OK]
      Common Mistakes:
      • Ignoring operator precedence and grouping incorrectly
      • Assuming OR groups before AND
      • Misreading the condition order
      4. Identify the error in this SQL query:
      SELECT * FROM Employees WHERE age > 25 OR salary < 40000 AND;
      medium
      A. Missing FROM clause
      B. Incorrect use of OR operator
      C. Missing condition after AND operator
      D. Incorrect column names

      Solution

      1. Step 1: Analyze the WHERE clause syntax

        The query ends with AND; which means the AND operator is not followed by a condition. This is a syntax error.
      2. Step 2: Confirm other parts are correct

        The SELECT and FROM clauses are present and column names seem valid. The error is specifically the incomplete WHERE clause.
      3. Final Answer:

        Missing condition after AND operator -> Option C
      4. Quick Check:

        Logical operators must have conditions on both sides [OK]
      Hint: Check that AND/OR always have conditions after them [OK]
      Common Mistakes:
      • Leaving dangling AND or OR without conditions
      • Forgetting to complete WHERE clause
      • Assuming syntax is correct despite missing parts
      5. You want to select employees who are either older than 40 or work in 'LA' with a salary less than 60000. Which WHERE clause correctly uses operator precedence to get this result?
      Options:
      A) WHERE age > 40 AND salary < 60000 OR city = 'LA'
      B) WHERE (age > 40 OR salary < 60000) AND city = 'LA'
      C) WHERE age > 40 OR (salary < 60000 AND city = 'LA')
      D) WHERE (age > 40 OR city = 'LA') AND salary < 60000
      hard
      A. WHERE age > 40 OR (salary < 60000 AND city = 'LA')
      B. WHERE (age > 40 OR salary < 60000) AND city = 'LA'
      C. WHERE age > 40 AND salary < 60000 OR city = 'LA'
      D. WHERE (age > 40 OR city = 'LA') AND salary < 60000

      Solution

      1. Step 1: Understand the desired logic

        You want employees who are either older than 40, or who both work in 'LA' and have salary less than 60000.
      2. Step 2: Apply operator precedence and parentheses

        Since AND has higher precedence, a clause like WHERE age > 40 AND salary < 60000 OR city = 'LA' groups as (age > 40 AND salary < 60000) OR city = 'LA'. But for our desired logic age > 40 OR (salary < 60000 AND city = 'LA'), we need explicit parentheses as in WHERE age > 40 OR (salary < 60000 AND city = 'LA').
      3. Step 3: Compare options

        WHERE age > 40 AND salary < 60000 OR city = 'LA' groups as (age > 40 AND salary < 60000) OR city = 'LA' -- incorrect. WHERE (age > 40 OR salary < 60000) AND city = 'LA' requires city = 'LA' even for age > 40 -- incorrect. WHERE (age > 40 OR city = 'LA') AND salary < 60000 requires salary < 60000 always -- incorrect. WHERE age > 40 OR (salary < 60000 AND city = 'LA') correctly implements the logic.
      4. Final Answer:

        WHERE age > 40 OR (salary < 60000 AND city = 'LA') -> Option A
      5. Quick Check:

        Use parentheses to group AND conditions with OR correctly [OK]
      Hint: Use parentheses to group AND conditions when mixed with OR [OK]
      Common Mistakes:
      • Not using parentheses and misreading condition grouping
      • Assuming OR groups before AND
      • Changing logic by wrong parentheses placement
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard