PostgreSQL logical operators are used to combine multiple conditions in a query. These operators are essential for filtering query results based on complex conditions that involve logical conjunctions, disjunctions, and negations.
Here is a list of the most commonly used PostgreSQL logical operators:
Operator | Description |
---|---|
AND |
Logical AND |
OR |
Logical OR |
NOT |
Logical NOT |
Let's look at some examples of PostgreSQL logical operator queries:
SELECT customer_id, customer_name
FROM customers
WHERE customer_id > 1 AND customer_id < 5;
This query retrieves the customer_id
and customer_name
from the customers
table where the customer_id
is greater than 1 and less than 5.
SELECT customer_id, customer_name
FROM customers
WHERE customer_id = 1 OR customer_id = 3;
This query retrieves the customer_id
and customer_name
from the customers
table where the customer_id
is either 1 or 3.
SELECT customer_id, customer_name
FROM customers
WHERE NOT (customer_id = 2);
This query retrieves the customer_id
and customer_name
from the customers
table where the customer_id
is not equal to 2.
Let's go through a complete example that includes creating a table, inserting data, and using various logical operators to filter data.
This step involves creating a new table named products
to store product data.
CREATE TABLE products (
product_id SERIAL PRIMARY KEY,
product_name VARCHAR(100),
price NUMERIC(10, 2)
);
In this example, we create a table named products
with columns for product_id
, product_name
, and price
.
This step involves inserting some sample data into the products
table.
INSERT INTO products (product_name, price)
VALUES ('Product A', 30.00),
('Product B', 60.00),
('Product C', 90.00);
Here, we insert data into the products
table.
This step involves using various logical operators to filter data from the products
table.
-- Logical AND
SELECT product_id, product_name
FROM products
WHERE price > 30.00 AND price < 90.00;
-- Logical OR
SELECT product_id, product_name
FROM products
WHERE price = 30.00 OR price = 90.00;
-- Logical NOT
SELECT product_id, product_name
FROM products
WHERE NOT (price = 60.00);
These queries demonstrate how to use various logical operators to filter data from the products
table, including logical conjunctions, disjunctions, and negations.
PostgreSQL logical operators are fundamental tools for combining multiple conditions and filtering query results based on complex logical expressions. Understanding how to use these operators and their syntax is essential for effective data retrieval and manipulation in PostgreSQL databases.