Dear readers of our blog, we'd like to recommend you to visit the main page of our website, where you can learn about our product SQLS*Plus and its advantages.
 
SQLS*Plus - best SQL Server command line reporting and automation tool! SQLS*Plus is several orders of magnitude better than SQL Server sqlcmd and osql command line tools.
 

REQUEST COMPLIMENTARY SQLS*PLUS LICENCE

Enteros UpBeat offers a patented database performance management SaaS platform. It proactively identifies root causes of complex revenue-impacting database performance issues across a growing number of RDBMS, NoSQL, and deep/machine learning database platforms. We support Oracle, SQL Server, IBM DB2, MongoDB, Casandra, MySQL, Amazon Aurora, and other database systems.

PostgreSQL EXISTS condition

14 September 2020

PostgreSQL EXISTS condition

PostgreSQL EXISTS condition is used in combination with a subquery and is considered “satisfied” if the subquery returns at least one line. It can be used in SELECT, INSERT, UPDATE, or DELETE statements.

The syntax for EXISTS condition in PostgreSQL

WHERE EXISTS ( subquery );

Parameters and arguments of the condition

  • subquery – A SELECT operator which usually starts with SELECT *, not with a list of expressions or column names. To improve performance, you can replace SELECT * with SELECT 1 because the result of the subquery column does not matter (only the returned rows are important).

Note:

  • SQL statements that use the EXISTS condition in PostgreSQL are very inefficient because the subquery is restarted for EVERY line in the external query table. There are more efficient ways to write most queries that do not use the EXISTS condition.

Example EXISTS Condition with SELECT Operator

Let us consider a simple example. Below is the SELECT operator which uses PostgreSQL condition EXISTS:

SELECT *
FROM products
WHERE EXISTS (SELECT 1
FROM inventory
WHERE products.product_id = inventory.product_id);

In this PostgreSQL example, the EXISTS condition will return all entries from the products table where the inventory table has at least one entry with the matching product_id. We used SELECT 1 in the subquery to improve performance because the resulting set of columns has nothing to do with the EXISTS condition (only the returned row counts).

Example of a SELECT operator using NOT EXISTS

PostgreSQL condition EXISTS can also be combined with NOT operator.
For example,

SELECT *
FROM products
WHERE DOES NOT EXIST (SELECT 1
FROM inventory
WHERE products.product_id = inventory.product_id);

In this PostgreSQL example EXISTS will return all records from the Products table, where the inventory table has no records for this product_id).

Example EXISTS condition with INSERT operator

Below is an example of the INSERT operator which uses PostgreSQL condition EXISTS:

INSERT INTO contacts
(contact_id, contact_name)
SELECT supplier_id, supplier_name
FROM suppliers
WHERE EXISTS (SELECT 1
FROM orders
WHERE suppliers.supplier_id = orders.supplier_id);

Example of condition with UPDATE operator

Below is an example of UPDATE operator, which uses PostgreSQL condition EXISTS:

UPDATE suppliers
SET supplier_name = (SELECT customers.customer_name
FROM customers
WHERE customers.customer_id = suppliers.supplier_id)
WHERE EXISTS (SELECT 1
FROM customers
WHERE customers.customer_id = supplier_id);

Example of EXISTS condition with DELETE operator

Below is an example of a DELETE operator that uses PostgreSQL condition EXISTS:

DELETE FROM contacts
WHERE EXISTS (SELECT 1
FROM employees
WHERE contacts.contact_id = employees.employee_id);

CHECKING IF EXISTS IN SQL SERVER

 
Tags: , , , ,

MORE NEWS

 

Preamble​​NoSql is not a replacement for SQL databases but is a valid alternative for many situations where standard SQL is not the best approach for...

Preamble​​MongoDB Conditional operators specify a condition to which the value of the document field shall correspond.Comparison Query Operators $eq...

5 Database management trends impacting database administrationIn the realm of database management systems, moreover half (52%) of your competitors feel...

The data type is defined as the type of data that any column or variable can store in MS SQL Server. What is the data type? When you create any table or...

Preamble​​MS SQL Server is a client-server architecture. MS SQL Server process starts with the client application sending a query.SQL Server accepts,...

First the basics: what is the master/slave?One database server (“master”) responds and can do anything. A lot of other database servers store copies of all...

Preamble​​Atom Hopper (based on Apache Abdera) for those who may not know is an open-source project sponsored by Rackspace. Today we will figure out how to...

Preamble​​MongoDB recently introduced its new aggregation structure. This structure provides a simpler solution for calculating aggregated values rather...

FlexibilityOne of the most advertised features of MongoDB is its flexibility.  Flexibility, however, is a double-edged sword. More flexibility means more...

Preamble​​SQLShell is a cross-platform command-line tool for SQL, similar to psql for PostgreSQL or MySQL command-line tool for MySQL.Why use it?If you...

Preamble​​Writing an application on top of the framework on top of the driver on top of the database is a bit like a game on the phone: you say “insert...

Preamble​​Oracle Coherence is a distributed cache that is functionally comparable with Memcached. In addition to the basic function of the API cache, it...

Preamble​​IBM pureXML, a proprietary XML database built on a relational mechanism (designed for puns) that offers both relational ( SQL / XML ) and...

  What is PostgreSQL array? In PostgreSQL we can define a column as an array of valid data types. The data type can be built-in, custom or enumerated....

Preamble​​If you are a Linux sysadmin or developer, there comes a time when you need to manage an Oracle database that can work in your environment.In this...

Preamble​​Starting with Microsoft SQL Server 2008, by default, the group of local administrators is no longer added to SQL Server administrators during the...