Posted by : Glen Sajori Sabtu, 27 September 2014

Description

The SQL EXISTS condition is used in combination with a subquery and is considered to be met, if the subquery returns at least one row. It can be used in a SELECT, INSERT, UPDATE, or DELETE statement.


Syntax

The syntax for the SQL EXISTS condition is:
WHERE EXISTS ( subquery );

Parameters or Arguments

subquery is a SELECT statement.

Note

  • SQL Statements that use the SQL EXISTS Condition are very inefficient since the sub-query is RE-RUN for EVERY row in the outer query's table. There are more efficient ways to write most queries, that do not use the SQL EXISTS Condition.

Example - With SELECT Statement

Let's look at a simple example.
The following is a SQL SELECT statement that uses the SQL EXISTS condition:

SELECT *
FROM suppliers
WHERE EXISTS (SELECT *
              FROM orders
              WHERE suppliers.supplier_id = orders.supplier_id);

This SQL EXISTS condition example will return all records from the suppliers table where there is at least one record in the orders table with the same supplier_id.

Example - With SELECT Statement using NOT EXISTS

The EXISTS condition can also be combined with the NOT operator.
For example :

SELECT *
FROM suppliers
WHERE NOT EXISTS (SELECT * 
                  FROM orders
                  WHERE suppliers.supplier_id = orders.supplier_id);
 
This SQL EXISTS example will return all records from the suppliers table where there are no records in the orders table for the given supplier_id.

Example - With INSERT Statement

The following is an example of a SQL INSERT statement that uses the SQL EXISTS condition :

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

Example - With UPDATE Statement

The following is an example of a SQL UPDATE statement that uses the SQL EXISTS condition :

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

Example - With DELETE Statement

The following is an example of a SQL DELETE statement that uses the SQL EXISTS condition :

DELETE FROM suppliers
WHERE EXISTS (SELECT *
              FROM orders
              WHERE suppliers.supplier_id = orders.supplier_id);
 
Source : techonthenet.com 

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Translate to Your Language

STMIK AMIKOM YOGYAKARTA

Followers

✠Ulquίoґґ∆✠. Diberdayakan oleh Blogger.

Copyright © Free Download+§hare Anything That You Want -Black Rock Shooter- Powered by Blogger - Designed by Johanes Djogan