Your Page Title
🔍

    SQL AND,OR,NOT

    When working with databases, it’s common to filter and retrieve only the data you need. SQL (Structured Query Language) allows you to do this using logical operators. Three important logical operators are OR, NOT, and AND. They help you build complex conditions in the WHERE clause of your queries.

    In this guide, we’ll explain each operator, how they work, and give examples so you can understand them better.


    1. SQL AND Operator

    The AND operator is used to combine two or more conditions in a query.
    A row will be returned only if all the conditions are true.

    Syntax:

    SELECT column1, column2, ...
    FROM table_name
    WHERE condition1 AND condition2;

    Example:

    Suppose we have a table called Employees:

    IDNameDepartmentSalary
    1RiyaHR45000
    2ArjunIT60000
    3NehaIT50000
    4PriyaHR30000
    5SureshFinance40000

    If we want to find employees in the IT department who have a salary greater than 50,000, we use:

    SELECT * 
    FROM Employees
    WHERE Department = 'IT' AND Salary > 50000;

    Result:

    IDNameDepartmentSalary
    2ArjunIT60000

    Key Point:
    The AND operator returns a row only if both conditions are true.


    2. SQL OR Operator

    The OR operator is used when you want to retrieve rows that meet at least one of several conditions.

    Syntax:

    SELECT column1, column2, ...
    FROM table_name
    WHERE condition1 OR condition2;

    Example:

    From the same Employees table, if we want to find employees in the HR department or those with a salary above 55,000:

    SELECT * 
    FROM Employees
    WHERE Department = 'HR' OR Salary > 55000;

    Result:

    IDNameDepartmentSalary
    1RiyaHR45000
    2ArjunIT60000
    4PriyaHR30000

    Key Point:
    The OR operator returns a row if at least one condition is true.


    3. SQL NOT Operator

    The NOT operator is used to exclude rows that meet a certain condition.

    Syntax:

    SELECT column1, column2, ...
    FROM table_name
    WHERE NOT condition;

    Example:

    If we want all employees except those in the HR department:

    SELECT * 
    FROM Employees
    WHERE NOT Department = 'HR';

    Result:

    IDNameDepartmentSalary
    2ArjunIT60000
    3NehaIT50000
    5SureshFinance40000

    Key Point:
    NOT is used to filter out unwanted results.


    4. Combining AND, OR, and NOT

    You can combine these operators to make more advanced queries.
    Important: Use parentheses () to control the order of evaluation.

    Example:

    Find employees who are in the IT department and have a salary above 50,000 or are in HR but not earning less than 40,000.

    SELECT *
    FROM Employees
    WHERE (Department = 'IT' AND Salary > 50000)
    OR (Department = 'HR' AND NOT Salary < 40000);

    Result:

    IDNameDepartmentSalary
    1RiyaHR45000
    2ArjunIT60000

    5. Order of Evaluation (Precedence)

    When SQL evaluates multiple conditions, it follows this order:

    1. NOT
    2. AND
    3. OR

    If you mix them without parentheses, SQL might not give the result you expect. Always use parentheses for clarity.

    Example without parentheses:

    WHERE Department = 'IT' OR Department = 'HR' AND Salary > 40000

    Here, AND is evaluated first, so it’s equivalent to:

    WHERE Department = 'IT' OR (Department = 'HR' AND Salary > 40000)

    If you want both IT and HR employees with salary above 40,000, you must write:

    WHERE (Department = 'IT' OR Department = 'HR') AND Salary > 40000

    6. Practical Use Cases

    • AND: Filtering for very specific results, like customers from a certain city and who spent more than $500.
    • OR: Finding records that match one of several criteria, like students from Delhi or Mumbai.
    • NOT: Excluding results, like products not in stock.

    Summary Table

    OperatorMeaningReturns True When…
    ANDBoth conditions must be trueBoth are true
    ORAt least one condition is trueOne or both are true
    NOTCondition is falseThe condition is not true

    Final Tip:
    Logical operators are powerful for filtering data. Always use parentheses to avoid confusion, especially when mixing AND, OR, and NOT.