Subconsultas

 

Una subconsulta es una instrucción SELECT anidada dentro de otra subconsulta o dentro de una instrucción SELECT, SELECT...INTO, INSERT...INTO, DELETE, o UPDATE.

La consulta SELECT de una subconsulta se incluye siempre entre paréntesis.

 

La sintaxis mas habitual de las subconsulta esta ligadas a las cláusulas: IN y EXISTS (con la palabra reservada NOT opcional)

IN se emplea para recuperar únicamente aquellos registros de la consulta principal para los que algunos registros de la subconsulta contienen un valor igual. EXISTS se utiliza para determinar si la subconsulta devuelve algún registro.

 

Por ejemplo si deseamos saber todos aquellos clientes que hayan realizado al menos un pedido:

SELECT Cliente,NumTelefono FROM Clientes_Datos WHERE EXISTS
(SELECT * FROM Pedidos_Cli_Cabecera WHERE IdCliente = Clientes_Datos.IdCliente)

este ejemplo seria equivalente a :

SELECT Cliente,NumTelefono FROM Clientes_Datos WHERE IdCliente IN 
(SELECT IdCliente FROM Pedidos_Cli_Cabecera)