You are on page 1of 4

TEMA: Subconsultas predicados cuantificados ALL, SOME, ANY EXISTS

OBJETIVO GENERAL

 Realizar una mayor complejidad sobre las consultas en SQL sobre bases
de datos.

OBJETIVOS ESPECÍFICOS

 Presentar la sintaxis del lenguaje SQL para subconsultas.


 Ver algunos ejemplos sencillos para clarificar la semántica del SQL.

MARCO TEÓRICO

Una subconsulta es una instrucción SELECT anidada dentro de una instrucción


SELECT, SELECT...INTO, INSERT...INTO, DELETE, o UPDATE o dentro de otra
subconsulta.

Puede utilizar tres formas de sintaxis para crear una subconsulta:

comparación [ANY | ALL | SOME] (instrucción sql)


expresión [NOT] IN (instrucción sql)
[NOT] EXISTS (instrucción sql)

En donde:

Comparación

Es una expresión y un operador de comparación que compara la expresión con


el resultado de la subconsulta.

Expresión

Es una expresión por la que se busca el conjunto resultante de la subconsulta.

Instrucción sql

Es una instrucción SELECT, que sigue el mismo formato y reglas que cualquier
otra instrucción SELECT. Debe ir entre paréntesis.

Se puede utilizar una subconsulta en lugar de una expresión en la lista de


campos de una instrucción SELECT o en una cláusula WHERE o HAVING. En
una subconsulta, se utiliza una instrucción SELECT para proporcionar un
conjunto de uno o más valores especificados para evaluar en la expresión de la
cláusula WHERE o HAVING.
Se puede utilizar el predicado ANY o SOME, los cuales son sinónimos, para
recuperar registros de la consulta principal, que satisfagan la comparación con
cualquier otro registro recuperado en la subconsulta.

ALL

Este predicado cuantificado es verdadero si la comparación es verdadera para


todos y cada uno de los valores resultantes en la sentencia subordinada. Si la
sentencia subordinada devuelve una tabla vacía, el predicado también tomará
el valor verdadero. El predicado será falso si la comparación es falsa para
alguno de los valores devueltos y verdadera en caso contrario.

SELECT descripcion
FROM pedidos
WHERE precio > ALL(SELECT precio
FROM almacen
ORDER BY descripción)

La subconsulta devuelve un conjunto de resultados de una columna. El tipo de


datos de la columna devuelta debe ser el mismo tipo de datos que el tipo de
datos de la expresión escalar. Es una instrucción SELECT restringida en la que
no se permiten la cláusula ORDER BY ni la palabra clave INTO.

Esta consulta seleccionaría todas aquellas descripciones en tabla pedidos que


tienen un mayor precio a todas las descripciones de la tabla almacen

ANY y SOME

Estos predicados cuantificados, equivalentes en su significado, son verdaderos


si la comparación es verdadera para al menos uno de los valores resultantes
en la sentencia subordinada. Si la sentencia subordinada devuelve una tabla
vacía, el predicado toma el valor falso. Si devuelve uno o más valores nulos, el
predicado será verdadero si la comparación es verdadera para alguno de los
otros valores devueltos y desconocido si para todos ellos es falsa.

SELECT descripcion
FROM pedidos
WHERE precio > SOME (SELECT precio
ORDER BY descripcion FROM almacen)

Selecciona todos los productos de la tabla pedidos que no son menores en


precio a todos los productos de la tabla almacen.

Predicado EXISTS

Es cierto cuando la sentencia subordinada encuentra como resultado al menos


una fila. Es decir, este predicado es verdadero si el resultado de la sentencia
subordinada no es una tabla vacía y falso en caso contrario. Pero no puede
tomar un valor desconocido.

EXISTS (sentencia subordinada)

La sentencia subordinada puede dar lugar a una tabla con cualquier número de
columnas.

APLICACIÓN PRÁCTICA
CONCLUSIONES

● Las instrucciones estudiadas nos ayudan en la mejor optimización de


tiempo de la consulta.
● Las subconsultas establecen un mejor entendimiento de lo que se desea
consultar.

RECOMENDACIONES

 Tener en cuenta la funcionalidad de cada uno de los comandos ya que


sus instrucciones no son idénticas.
 Escribir correctamente el comando a ser utilizado

BIBLIOGRAFÍA

Dorra y Sevilla (1977) [Capitulo 2]

Alejandro Jiménez y Trejo, J. (2009)

Tesis Doctorales, (UPEL, 2006) Hurtado de B., J. (2000) Sabino, C. (1992)


http://sistemas.itlp.edu.mx/tutoriales/basedat1/tema1_9.htm

You might also like