El predicado EXISTS (con la palabra reservada NOT opcional) se utiliza en comparaciones de verdad/falso para determinar si la subconsulta devuelve algún registro. Supongamos que deseamos recuperar todos aquellos clientes que hayan realizado al menos un pedido:
SELECT
Clientes.Compañía, Clientes.Teléfono
FROM
Clientes
WHERE EXISTS (
SELECT
FROM
Pedidos
WHERE
Pedidos.IdPedido = Clientes.IdCliente
)
Esta consulta es equivalente a esta otra:
SELECT
Clientes.Compañía, Clientes.Teléfono
FROM
Clientes
WHERE
IdClientes
IN
(
SELECT
Pedidos.IdCliente
FROM
Pedidos
)
Se puede utilizar también alias del nombre de la tabla en una subconsulta para referirse a tablas listadas en la cláusula FROM fuera de la subconsulta. El ejemplo siguiente devuelve los nombres de los empleados cuyo salario es igual o mayor que el salario medio de todos los empleados con el mismo título. A la tabla Empleados se le ha dado el alias T1:
SELECT
Apellido, Nombre, Titulo, Salario
FROM
Empleados AS T1
WHERE
Salario =
(
SELECT
Avg(Salario)
FROM
Empleados
WHERE
T1.Titulo = Empleados.Titulo
)
ORDER BY Titulo
En el ejemplo anterior, la palabra reservada AS es opcional.
SELECT
Apellidos, Nombre, Cargo, Salario
FROM
Empleados
WHERE
Cargo LIKE 'Agente Ven*'
AND
Salario ALL
(
SELECT
Salario
FROM
Empleados
WHERE
Cargo LIKE '*Jefe*'
OR
Cargo LIKE '*Director*'
)
(Obtiene una lista con el nombre, cargo y salario de todos los agentes de ventas cuyo salario es mayor que el de todos los jefes y directores.)
SELECT DISTINCT
NombreProducto, Precio_Unidad
FROM
Productos
WHERE
PrecioUnidad =
(
SELECT
PrecioUnidad
FROM
Productos
WHERE
NombreProducto = 'Almíbar anisado'
)
(Obtiene una lista con el nombre y el precio unitario de todos los productos con el mismo precio que el almíbar anisado.)
Hay 792 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Programación en C++ C++ es un potente lenguaje de programación que apareció en 1980, continuando con las ventajas, flexibilidad y eficacia del C. Es un lenguaje de programación que permite p... [04/06/04] |
|
37.985 | ||
|
PHP y MySQL. Aplicaciones Web: programación (primera parte) Programación de aplicaciones Web con PHP y MySQL. Con este curso aprenderás el funcionamiento de una Web Site, la programación en el cliente ... [02/12/08] |
|
2.402 | ||
|
PHP y MySQL. Aplicaciones Web: HTML II (tercera parte) Programación de aplicaciones Web con PHP y MySQL. Ahora continuaremos con el estudio de las páginas Web HTML. Estudiaremos las listas en HTML. ... [02/12/08] |
|
674 | ||
Publicar en
del.icio.us
digg
meneame