Updated March 28, 2023
Introduction to SQL Logical Operators
SQL logical operators namely AND, OR and NOT are used to combine multiple conditions mentioned in the WHERE clause of the query to filter the rows from the resultant set obtained by the SELECT statement.
There are three different kinds of logical operators. They perform the following functions :
Logical Operator | Function |
AND | Both the conditions mentioned in the WHERE clause should be TRUE. |
OR | At least one of the conditions mentioned in the WHERE clause should be TRUE. |
NOT | The mentioned condition should be false in the WHERE clause. |
Syntax and parameters
The generic syntax for working with SQL logical operators is as follows :
SELECT column_name(s)
FROM table_name_1
WHERE condition_1 LOGICAL OPERATOR condition_2 LOGICAL OPERATOR condtion_3…;
The different parameters used in the syntax are :
SELECT column_name(s): It is used to select the required data from the database. Mention the column name on which you want to perform the logical operation and want in the result set.
FROM table_name_1: Mention the table name from which the column has to be fetched.
WHERE condition_1: It is used to specify the conditions to filter records.
LOGICAL OPERATOR: Mention the type of logical operation you want to perform from {OR, AND} based on the conditions which you want the filtered rows to satisfy. The syntax for NOT operator is a bit different from AND and OR operators. We will discuss this when discussing NOT operator.
Of the above-mentioned parameters, all the parameters are mandatory. You may use GROUP BY, ORDER BY and HAVING clauses based on your requirement.
Going ahead we will be discussing the above mentioned logical operators in great detail.
In order to demonstrate and explain the Logical operators in SQL effectively, we will be using the following “Orders” table. This table is made for an e-commerce website. The table contains order id, customer names, city and the details of the items purchased by them.
The schema for the above mentioned “orders” table is :
Number of records: 15
Customers |
Order_id(primary key) |
Customer_name |
City |
Items_purchased |
Amount_paid |
Order_date |
Let’s have a look at the records in the orders table. So that later, we can understand how logical operators are helpful:
Order_id | Customer_name | City | Items_purchased | Amount_paid | Order_date |
1 | Peter King | Manchester | Books | 120 | 2020-01-13 00:00:00.000 |
2 | Priya Krishna | New Delhi | pen | 50 | 2020-01-12 00:00:00.000 |
3 | Jim Halpert | Manchester | pencil | 43 | 2020-02-13 00:00:00.000 |
4 | Michael Scott | New York | Books | 250 | 2020-02-10 00:00:00.000 |
5 | Harvey Spector | Birmingham | pencil | 100 | 2020-01-10 00:00:00.000 |
6 | Deepa Kamat | Mumbai | Books | 370 | 2019-12-13 00:00:00.000 |
7 | Anita Desai | London | pencil | 50 | 2019-12-01 00:00:00.000 |
8 | Rachel Zane | Michigan | pen | 70 | 2019-12-13 00:00:00.000 |
9 | Petoria John | Canberra | pen | 190 | 2020-01-13 00:00:00.000 |
10 | John L | Budapest | Books | 540 | 2020-01-13 00:00:00.000 |
11 | Justin Green | Ottawa City | pen | 65 | 2020-02-13 00:00:00.000 |
12 | Babita Ghosh | Kolkata | pencil | 75 | 2020-02-13 00:00:00.000 |
13 | Krish Pratt | London | eraser | 30 | 2019-12-01 00:00:00.000 |
14 | Elizabeth Blunt | London | pencil | 340 | 2019-12-01 00:00:00.000 |
15 | Nina Debrov | Amsterdam | Books | 452 | 2019-12-01 00:00:00.000 |
NULL | NULL | NULL | NULL | NULL | NULL |
AND Logical Operator
SQL AND operator is used to combine two or more conditions mentioned in a WHERE clause of a query. Only those rows will be made to the final result set which satisfies all the mentioned conditions in the WHERE part of the statement.
Here are a few examples to illustrate the use of AND Operator.
Examples of SQL Logical Operators
Here are the following examples of SQL Logical Operators mention below
Example #1
Find the names of customers who have bought items in the pencil category and are from London.
Code:
SELECT Customer_name
FROM Orders
WHERE City = 'London' AND Items_purchased = 'pencil';
Example #2
Find the names of customers and their cities who have bought items in the books category and have spent more than 50 on an order.
Code:
SELECT Customer_name, City
FROM Orders
WHERE Items_purchased = 'pencil' AND Amount_paid > 50;
OR Logical Operator
SQL OR operator is used to combine two or more conditions mentioned in a WHERE clause of a query. Only those rows will be made to the final result set which satisfies at least one of the mentioned conditions in the WHERE part of the statement.
Here are a few examples to illustrate the use of OR Operator.
Example #3
Find the details of the order where customers have bought items in the pencil or pen category.
Code:
SELECT *
FROM Orders
WHERE Items_purchased = 'pencil' OR Items_purchased = 'Pen';
Example #4
Find the names of customers who have bought items in the pencil or eraser category and are from London.
Code:
SELECT Customer_name
FROM Orders
WHERE Items_purchased = 'pencil' OR Items_purchased = 'eraser' AND City = 'London';
NOT Logical Operator
SQL NOT operator is used to combine two or more conditions mentioned in the WHERE clause of a query. It is used to filter only those rows which do not meet the conditions mentioned in the WHERE part of the query.
The syntax for NOT operator is a bit different from AND and OR operators. It is as follows :
SELECT column_name(s) FROM table_name WHERE NOT condition;
Here are a few examples to illustrate the use of NOT Operator.
Example #5
Find the details of the order where customers have bought items, not in the pencil category.
Code:
SELECT *
FROM Orders
WHERE NOT Items_purchased = 'pencil';
Example #6
Find the details of orders in the books category which were not made in February.
Code:
SELECT *
FROM Orders
WHERE NOT MONTH(Order_date)='2' AND Items_purchased = 'Books';
Conclusion
As we have seen above, SQL logical operators are used to combine multiple conditions in a WHERE clause for filtering rows from the data set. AND, OR and NOT operations in SQL are similar to binary operations.
Recommended Articles
We hope that this EDUCBA information on “SQL Logical Operators” was beneficial to you. You can view EDUCBA’s recommended articles for more information.