Saltar al contenido

subconsultas sincronizada de SQL con ejemplos

Uno de los tipos de sentencias SQL más comunes son las subconsultas sincronizadas, que dependen de consultas externas para su ejecución. Si no sabe nada más que lo que se explica aquí, consulte un tutorial anterior sobre este tema antes de continuar con nuestra explicación.

Que son las subconsulta anidadas

Una subconsulta sincronizada de SQL es una subconsulta que depende de la consulta externa. Significa que la cláusula WHERE de la subconsulta sincronizada usa los datos de la consulta externa.

Una subconsulta sincronizada de SQL se ejecuta una vez para cada fila seleccionada de la consulta externa.

Subquery como campo en un SELECT

La siguiente consulta selecciona el total de compras realizada por los clientes, ordenadas de mayor a menor

  • SELECT [CustomerID] ,,[FirstName],[MiddleName]
  • ,( SELECT sum([TotalDue]) FROM [AventureWorks].[SalesLT].[SalesOrderHeader] where CustomerID = a.[CustomerID]) AS total_ventas
  • FROM [AventureWorks].[SalesLT].[Customer] a
  • ORDER BY total_ventas DESC

La subconsulta calcula las ventas totales para cada cliente seleccionado de la tabla de clientes. El ID de cliente seleccionado de la consulta externa se pasa a la subconsulta para obtener los datos de ventas correspondientes.

Subconsulta con la cláusula WHERE

Puede utilizar una subconsulta sincronizadas en la cláusula where de una consulta externa. Vea el siguiente ejemplo:

  • SELECT [CustomerID],[FirstName],[MiddleName]
  • FROM [AventureWorks].[SalesLT].[Customer] a
  • WHERE 1 =( SELECT count([TotalDue]) FROM [AventureWorks].[SalesLT].[SalesOrderHeader]
  • WHERE CustomerID = a.[CustomerID])

La subconsulta calcula la cantidad de facturas para cada cliente seleccionado de la tabla de clientes. El ID de cliente seleccionado de la consulta externa se pasa a la subconsulta para obtener los datos de cuales clientes tienen por lo menos una facturas .

Supconsultas SQL son una característica muy útil de la mayoría de los SGBDs, nos permiten realizar consultas anidadas sin necesidad de crear vistas temporales o tablas derivadas. Su sintaxis es muy simple y, a primera vista, puede parecer que no tienen mucha utilidad práctica; sin embargo, una vez que las conocemos un poco mejor, veremos que supconsultas sql son muy útiles y pueden simplificar bastante nuestras consultas.

las mismas estan son parte de SGBDs como son en servidores Oracle, MySQL y SQLServer.


En este tutorial, ha aprendido sobre las subconsultas correlacionadas con SQL. Esperamos que ahora comprenda mejor las subconsultas correlacionadas y las aplique de manera efectiva en su trabajo.