Como hacer subqueries con mysql
Miércoles, 17 de Marzo de 2010Vamos a proceder a crear una subqueries en mysql. Esto nos servirá para poder combinar diferentes tablas. Ideal para buscadores que precisas de más de dos tablas relacionadas por algún campo.
SELECT * FROM Empleados WHERE Salario > (SELECT MAX(Salario) FROM Empleados)
Subqueries ecalares
SELECT * FROM Empleados WHERE Salario > (SELECT MAX(Salario) FROM Empleados)
IN y NOT IN - Esto dice si una valor de una columna está o no esta en la otra columna de la otra tabla
SELECT * FROM Clientes WHERE Id IN (SELECT Cliente FROM Ventas);
ALL y ANY - Se puede seleccionar filas que cumplen con cierta condición en las tablas
SELECT * FROM Conformes WHERE Vencimiento > ALL (SELECT Fecha FROM Facturas);
SUBQUERIES CORRELACIONADOS - Esto es cuando hace referencia a una tabla que no figura en el FROM aunque sí debe figurar en la query que la contiene
SELECT Articulo, Importe FROM Ventas V1 WHERE
Importe = (SELECT MAX(Importe)
FROM Ventas V2 WHERE V2.Articulo = V1.Articulo) ORDER BY Articulo;
EXIST y NOT EXIST - Te dice si tiene alguna fila o no en la query
SELECT * FROM Sucursales WHERE EXISTS (SELECT 1 FROM Ventas WHERE Sucursal = Sucursales.Id);
Saludos!!
