Vous êtes sur la page 1sur 2

http://www.maestrosdelweb.

com/tutsql15/
Subconsultas:
Es una instruccion select anidada dentro de una instruccion, SELECT, INSERT,UPDATE O
DELETE o dentro de una subconuslta, se pueden escribir una subconsulta como combinaciones y
utilizarlas en lugar de una expresion.
Finalidad: Se utilizan subconsultas para dividir una consulta compleja en varios pasos lgicos y
como resultado resolver el problema con una unica instruccion.
NO se puede utilizar una subconsulta para recuperar datos de columnas de tipo text e image.
Tipos de subconsultas:
1) Que retornan una sola fila -- con operadores logicos
SELECT Nombre,Apellido,Telefono
FROM CLIENTES
WHERE Edad = (SELECT MAX (Edad) FROM CLIENTES)
2)Subconsulta de una columna que retorna mltiples filas
Debemos usar operadores para mltiples resultados como ALL, IN, ANY
Obtengan los clientes que tengan distinta edad de aquellos clientes que tienen un cdigo mayor a 5:
SELECT ID,Nombre,Apellido,Telefono FROM CLIENTES
WHERE Edad <> ALL (SELECT Edad FROM CLIENTES WHERE ID >5);
3)Subconsulta multiple
Seleccione los clientes cuya edad est entre el mnimo y el promedio de las edades (MIN,AVG):
SELECT ID,Nombre,Apellido,Edad FROM CLIENTES
WHERE Edad > ( SELECT MIN (Edad) FROM CLIENTES)
AND
Edad <(SELECT AVG(Edad) FROM CLIENTES);
4)Subconsulta como una expresin
select nombre, apellido, (select avg(edad) as [Promedio] from clientes)
where id = 4
5)Simulacin de una clusula HAVING-consulta correlacionada
Obtener todos los clientes cuyas edades esten por encima del promedio de edades
SELECT c1.nombre,c1.edad
FROM clientes as c1
WHERE c1.edad > (SELECT AVG(c2.edad) FROM clientes AS c2);
6)Subconsulta como una tabla derivada, el select va en el from
Ejemplos de internet
Ejemplo 6. Un subconsulta en el JOIN
SELECT MiColumna1, MiColumna2
FROM MiTabla
JOIN MiTabla2
ON MiColumna = (SELECT MiOtraColumna FROM MiOtraTabla)

Tambin puede usarse una subconsulta en el JOIN, sea ste del tipo que sea (INNER, LEFT,
RIGHT, FULL, CROSS, NATURAL)
PROCEDIMIENTOS ALMACENADOS
Es un conjunto de instruccines que se guardan en elservidor para un posterior uso, ya que se
ejecutan frecuentemente. Se nombran con la clausula PROCEDURE.Son rutinas que no retornan
ningun tipo de valor, simplemente se llaman desde el cliente con el comando CALL
nombreProcedimiento(); y las instrucciones dentro del procedimiento se ejecutaran.
Ventajas de usar proedimientos almacenados
Seguridad: Los procedimientos almacenados ocultan el nombre de las tablas a los usuarios, lo que
da seguridad a la tabla, estos simplemente llaman a los procedimientos sin conocer la estructura de
la base de datos.
Estndares de cdigo:Todos los integrantes del grupo de desarrollo coexisten con una base de
codigo similares o iguales.
Velocidad: Es mucho mas fcil ejecutar un programa ya definido mediante ciertos parmetros, que
reescribir de nuevo las instrucciones.

Vous aimerez peut-être aussi