SQL : Manual Introducción al lenguaje de consultas parte 7 (Subconsultas)
- Que son las subconsultas?
- Restricciones a la hora de escribir subconsultas.
- En que momento podemos usar las subconsultas?
- Referencias externas.
- Tipos de subconsultas.
- Describir los tipos de problemas que se pueden resolver las subconsultas.
- EXISTS.
Que son Subconsultas?
"Una subconsulta es una sentencia SELECT que aparece dentro de otra sentencia SELECT. Normalmente se utilizan para filtrar una clausula WHERE o HAVING con el conjunto de resultados de la subconsulta, aunque también pueden utilizarse en la lista de selección."
Las subsconsltas nos ayudan a la hora de escribir queries que intervengan varias tablas, como en el articulo anterior de los Joins, asi evitando la complejidad de la consulta. Una nota es debemos de tener en cuenta es que este tipo de operaciones son mas lentas que los Joins, pero en caso que sea necesario debemos de usarlo.
La podemos usar luego de la clausula WHERE o HAVING.
Ejemplo :
SELECT CAMPO1, CAMPO2 FROM TABLA
WHERE CAMPO2 = (SELECT MAX(CAMPO2 ) FROM TABLA)
Restricciones a la hora de escribir subconsultas.
- No se permite la clausula Order by.
- No se permite usar el signo de igualdad(=) , cuando la subconsulta retorna mas de un valor
- Debe de estar encerrado en paréntesis.
- Debe de escribirse luego del operador logico.
En que momento podemos usar las subconsultas?
SELECT
Ejemplo :
SELECT CAMPO1, CAMPO2 FROM TABLA
WHERE CAMPO1 IN (SELECT CAMPO1 FROM TABLA2)
DELETE
Ejemplo :
DELETE FROM TABLA
WHERE CAMPO1 IN (SELECT CAMPO1 FROM TABLA2)
UPDATE
Ejemplo :
UPDATE TABLA
SET CAMPO2 = 'INFORMACIO'
WHERE CAMPO1 IN (SELECT CAMPO1 FROM TABLA2)
Referencias externas.
Una referencia externa es un campo que aparece en la subconsulta pero se refiere a la una de las tablas designadas en la consulta principal. Cuando se ejecuta una consulta que contiene una subconsulta con referencias externas, la subconsulta se ejecuta por cada fila de la consulta principal.
Ejemplo :
SELECT CAMPO1, CAMPO2 FROM TABLA1
WHERE CAMPO3 IN (SELECT CAMPO3 FROM TABLA1 WHERE CAMPO1 = CAMPO1)
http://es.slideshare.net/nicola51980/postgresql-leccin-6-subconsultas
Tipos de subconsultas.
Existen dos tipos de sobconsultas, las de un solo registro y las de múltiples registros.
Ejemplo único registro:
Tipos de subconsultas.
Existen dos tipos de sobconsultas, las de un solo registro y las de múltiples registros.
Ejemplo único registro:
SELECT CAMPO1, CAMPO2 FROM TABLA1
WHERE CAMPO1 = (SELECT MAX(CAMPO1) FROM TABLA1)
Ejemplo múltiples registros:
Ejemplo múltiples registros:
SELECT CAMPO1, CAMPO2 FROM TABLA1
WHERE CAMPO1 IN (SELECT CAMPO1 FROM TABLA1)
EXISTS
Verifica si la consulta interna arroja alguna fila. Si lo hace, entonces la consulta externa procede. De no hacerlo, la consulta externa no se ejecuta, y la totalidad de la instrucción SQL no retorna ningun valor
Ejemplo :
Hasta la próxima entrega.
M.L.
Verifica si la consulta interna arroja alguna fila. Si lo hace, entonces la consulta externa procede. De no hacerlo, la consulta externa no se ejecuta, y la totalidad de la instrucción SQL no retorna ningun valor
Ejemplo :
SELECT CAMPO1, CAMPO2 FROM TABLA1
WHERE EXISTS
(
SELECT * FROM
TABLA1 WHRE CONDICIÓN 1 AND CONDICIÓN 2 ....
)
(
SELECT * FROM
TABLA1 WHRE CONDICIÓN 1 AND CONDICIÓN 2 ....
)
Hasta la próxima entrega.
M.L.
Comentarios
Publicar un comentario