DB2 - Exemplos simples - EXISTS



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

DB2 - Exemplos simples - EXISTS

The EXISTS operator tests for the existence of certain rows in a subquery.
O operador EXISTS testa a existência de certas linhas em uma subconsulta.

The EXISTS operator returns true if the subquery returns one or more records.
O operador EXISTS retorna verdadeiro se a subconsulta retornar um ou mais registros.

The result of the EXISTS operator.
O resultado do operador EXISTS.

  1. Is true only if the number of rows that is specified by the subquery is not zero.
    É verdadeiro apenas se o número de linhas especificado pela subconsulta não for zero.

  2. Is false only if the number of rows specified by the subquery is zero.
    É falso apenas se o número de linhas especificado pela subconsulta for zero.

  3. Cannot be unknown.
    Não pode ser desconhecido.

Syntax - Sintaxe:

    SELECT column_name(s)
      FROM table_name
     WHERE EXISTS
           (SELECT column_name FROM table_name WHERE condition);

The following SQL lists the suppliers with a product price less than 20:
O seguinte SQL lista os fornecedores com um preço de produto inferior a 20:

    SELECT SupplierName
      FROM Suppliers
      WHERE EXISTS 
           (SELECT ProductName 
              FROM Products 
             WHERE SupplierId = Suppliers.supplierId 
               AND Price < 20);

The following SQL lists the suppliers with a product price equal to 22:
O seguinte SQL lista os fornecedores com um preço de produto igual a 22:

    SELECT SupplierName
      FROM Suppliers
     WHERE EXISTS 
          (SELECT ProductName 
             FROM Products 
            WHERE SupplierId = Suppliers.supplierId 
              AND Price = 22);

Orderid Customernumber Orderdate
1001102020-09-08
1002992020-09-01
1003172020-08-25
1004762020-09-19
1005702020-09-19

Customernumber Customername Country
76JackAmerica
17JancyGermany
20CarmenPakistan
10RobertIndia
99BrianChina
70AprilAmerica

Example: 1 - Exemplo: 1

The following SQL statement returns TRUE and lists the customers who made a order.
A instrução SQL a seguir retorna TRUE e lista os clientes que fizeram um pedido.

    SELECT Customername
      FROM Customers
     WHERE EXISTS (SELECT Orderid
                     FROM Orders
                     WHERE Orders.Orderid = Customers.Orderid);

Result - Resultado:

    Customername

    Jack
    Jancy
    Robert
    Brian
    April

Example: 2 - Exemplo 2

The following SQL statement returns TRUE and lists the customers who made a order on date '2020-09-19'.
A seguinte instrução SQL retorna TRUE e lista os clientes que fizeram um pedido na data '2020-09-19'.

    SELECT Customername
      FROM Customers
     WHERE EXISTS (SELECT Orderid
                    FROM Orders
                   WHERE Orders.Orderid = Customers.Orderid
                     AND Orderdate='2020-09-19');

Result - :Resultado

    Customername

    Brian
    April