Subconsultas o SubQueries en SQL Server
Muchas veces no vemos en la necesidad de Realizar una consulta de datos dentro de otra consulta ya creada, a lo que se le llama SubConsultas ó SubQueries. Pondré algunos ejemplos del uso de subconsultas a continuación.
SubConsulta sencilla para traer la descripción de puesto de un empleado:
Digamos que una consulta sobre la tabla empleados nos devuelve los siquientes resultados:
SELECT *
FROM EMPLEADOS
Y también tenemos la tabla Puestos, la cuál contiene los siguientes Valores.
SELECT *
FROM PUESTOS
Ahora, digamos que cuando consultemos la tabla de empleados queremos que nos aparezca la descripción del puesto, obviamente esto lo podemos hacer relacionando la tabla de empleados con la tabla puestos por el campo id_puesto pero en este ejemplo estamos tratando de demostrar el uso de las subconsultas en sql server, entonces quedaría de esta forma:
SELECT EMP.ID_EMPLEADO, EMP.NOMBRE, EMP.FECHA_INGRESO,
(SELECT P.DESCRIPCION
FROM PUESTOS P
WHERE P.ID_PUESTO = EMP.ID_PUESTO) AS DESCRIPCION_PUESTO
FROM EMPLEADOS AS EMP
El resultado es el siguiente:
Uso de Subconsultas como Tablas Temporales
Algunas veces es recomendable utilizar subconsultas para evitar crear tablas temporales, es decir que el resultado de una consulta lo podemos como si fuera un tabla temporal, ejemplo:
Vamos a utilizar el query creado en el ejemplo anterior como si fuera una tabla temporal:
SELECT *
FROM (
Vamos a utilizar el query creado en el ejemplo anterior como si fuera una tabla temporal:
SELECT *
FROM (
SELECT EMP.ID_EMPLEADO, EMP.NOMBRE, EMP.FECHA_INGRESO,
(SELECT P.DESCRIPCION
FROM PUESTOS P
WHERE P.ID_PUESTO = EMP.ID_PUESTO) AS DESCRIPCION_PUESTO
FROM EMPLEADOS AS EMP) AS TABLA_TEMPORAL
solo pusimos todo el query anterior dentro de parentesis () y al final un alias que es como se llamará la supuesta tabla temporal.
Mis Mejores Saludos
Xavier García
No hay comentarios:
Publicar un comentario