Subconsulta correlacionada de SQL Server
Resumen: en este tutorial, aprenderá sobre la subconsulta correlacionada de SQL Server, que es una subconsulta que depende de la consulta externa para sus valores.
Una subconsulta correlacionada es una subconsulta que utiliza los valores de la consulta externa. En otras palabras, depende de la consulta externa para sus valores. Debido a esta dependencia, una subconsulta correlacionada no se puede ejecutar de forma independiente como una subconsulta simple.
Además, una subconsulta correlacionada se ejecuta repetidamente, una vez por cada fila evaluada por la consulta externa. La subconsulta correlacionada también se conoce como subconsulta repetitiva.
Considere la siguiente tabla products
de la base de datos de muestra:
El siguiente ejemplo encuentra los productos cuyo precio de lista es igual al precio de lista más alto de los productos dentro de la misma categoría:
Code language: SQL (Structured Query Language) (sql)SELECT product_name, list_price, category_idFROM production.products p1WHERE list_price IN ( SELECT MAX (p2.list_price) FROM production.products p2 WHERE p2.category_id = p1.category_id GROUP BY p2.category_id )ORDER BY category_id, product_name;
Aquí está el resultado:
En este ejemplo, para cada producto evaluado por la consulta externa, la subconsulta encuentra el precio más alto de todos los productos de su categoría. Si el precio del producto actual es igual al precio más alto de todos los productos de su categoría, el producto se incluye en el conjunto de resultados. Este proceso continúa para el siguiente producto y así sucesivamente.
Como puede ver, la subconsulta correlacionada se ejecuta una vez para cada producto evaluado por la consulta externa.
En este tutorial, ha aprendido sobre la subconsulta correlacionada de SQL Server.