Está en la página 1de 4

Formacin 2002. Tema 7.

Consultas anidadas.

TEMA 7 CONSULTAS ANIDADAS


1. 2. 3. 4. Consultas Anidadas. Operadores. Consultas anidadas dentro de un Having. Ejercicios.

Prcticas de Diseo y Gestin de Bases de Datos

Page 1 of 4

Formacin 2002. Tema 7.

Consultas anidadas.

1. CONSULTAS ANIDADAS. Hasta ahora slo hemos visto consultas sencillas. Ahora vamos a ver consultas anidadas, es decir, la salida de una consulta es la entrada de la consulta superior. No hay lmite a la hora de hacer consultas anidadas. Van entre parntesis excepto el nivel superior. Sintxis SELECT .... FROM .... WHERE COLUMNA = (SELECT ..... FROM ..... [WHERE ....]); El select interior de un solo valor es el caso ms sencillo. Consultas anidadas combinadas con operadores AND y OR. SELECT .... FROM .... WHERE COLUMNA = (SELECT .... FROM .... [WHERE ...]) OR/AND CONDICION; Consultas anidadas que devuelven mltiples filas: IN, ANY, ALL. Tambin podemos usar NOT. Consultas anidadas que retornan mltiples columnas: SELECT .... FROM .... WHERE (COLUMNA1, COLUMNA2) IN SELECT COLUMNA1, COLUMNA2 FROM .... WHERE ....

2. OPERADORES. 2.1. ANY. Sintxis: SELECT .... FROM .... WHERE condicin operador ANY consulta Si la consulta anidada devuelve ms de un valor y se quiere que la composicin sea distinta a la igualdad, usaremos el operador any.
Prcticas de Diseo y Gestin de Bases de Datos Page 2 of 4

Formacin 2002. Tema 7.

Consultas anidadas.

La condicin se cumple se la condicin se verifica para al menos uno de los valores invocados pro la consulta anidad.

2.2. ALL Sintxis: SELECT .... FROM .... WHERE condicin operador ALL consulta Fuerza que la condicin se cumpla para todos los valores. Con el operador ALL, la condicin se cumple si se verifica para todos los valores invocados por la consulta anidada. El empleo de ANY/ALL es bastante delicado y puede llevar a cometer errorres. Es mejor emplear consultas que hagan uso de funciones sobre los grupos a sobre consultas de existencias.

2.3. EXISTS La condicin se cumple si la consulta anidada da un resultado de una fila por lo menos . Si no devuelve ninguna fila no se cumplir jams.

3. CONSULTAS ANIDADAS DENTRO DE UN HAVING.

Sintxis: SELECT FROM ... GROUP BY HAVING condicion operadores Una consulta anidada no podr contener la clusula ORDER BY.

Prcticas de Diseo y Gestin de Bases de Datos

Page 3 of 4

Formacin 2002. Tema 7.

Consultas anidadas.

EJERCICIOS
32. Buscar todos los artculos cuyos pesos resulten inferiores al peso del artculo 2, y ordenados por peso. 33. Encontrar el nmero y nombre de los artculos que pesen ms que el artculo calendario o sean de igual color que la impresora. 34. Buscar en la tabla artculos las filas del mismo color que el artculo 10, y cuyo peso es mayor o igual que el peso medio de todos los artculos. 35. Obtener la lista de proveedores que suministran como mnimo un artculo de color negro. 36. Seleccionar el nombre y apellido de los clientes que sean espaoles y adems residan en la misma ciudad de los que se llaman de nombre Pablo ordenados ois su nmero de cliente. 37. Cul es el artculo con el precio de venta al pblico ms caro de cada color? 38. Obtener el nombre de los gerentes de las tiendas que han vendido al menos una unidad de artculo 2. 39. Idem que el anteior pero al menos 2 unidades del artculo 3. 40. Obtener una lista de los artculos cuyo pv > pv del artculo ms barato de color blanco. 41. Formulacin alternativa del problema nmero 40. 42. Resolver el problema nmero 40 mediante una consulta de existencia.

Prcticas de Diseo y Gestin de Bases de Datos

Page 4 of 4

También podría gustarte