3.201 cursos gratis
6.234.986 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > SQL > Subconsultas

SQL

Autor: Claudio
Curso:  4,49/5 4,49/5 (792 opiniones) |34144 alumnos|Fecha publicación: 10/05/2004
Capítulos del curso

Capítulo 32:

 Subconsultas

Subconsultas

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ónEs una expresión y un operador de comparación que compara la expresión con el resultado de la subconsulta.
expresiónEs una expresión por la que se busca el conjunto resultante de la subconsulta.
instrucción SQLEs 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. El ejemplo siguiente devuelve todos los productos cuyo precio unitario es mayor que el de cualquier producto vendido con un descuento igual o mayor al 25 por ciento:
SELECT *
FROM
Productos
WHERE
PrecioUnidad

ANY
(
SELECT
PrecioUnidad
FROM
DetallePedido
WHERE
Descuento = 0 .25
)

El predicado ALL se utiliza para recuperar únicamente aquellos registros de la consulta principal que satisfacen la comparación con todos los registros recuperados en la subconsulta. Si se cambia ANY por ALL en el ejemplo anterior, la consulta devolverá únicamente aquellos productos cuyo precio unitario sea mayor que el de todos los productos vendidos con un descuento igual o mayor al 25 por ciento. Esto es mucho más restrictivo.

El predicado IN se emplea para recuperar únicamente aquellos registros de la consulta principal para los que algunos registros de la subconsulta contienen un valor igual. El ejemplo siguiente devuelve todos los productos vendidos con un descuento igual o mayor al 25 por ciento:
SELECT *
FROM
Productos
WHERE
IDProducto

IN
(
SELECT
IDProducto
FROM
DetallePedido
WHERE
Descuento = 0.25
)

Inversamente se puede utilizar NOT IN para recuperar únicamente aquellos registros de la consulta principal para los que no hay ningún registro de la subconsulta que contenga un valor igual.

Capítulo siguiente - Ejemplo Subconsultas (I)
Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 792 opiniones. Opina sobre este curso.

Descarga el PDF gratis

Cursos similares a SQL


Cursos Valoración Alumnos Vídeo
PHP y MySQL. Aplicaciones Web: HTML (cuarta parte)
Programación de aplicaciones Web con PHP y MySQL. Siguiendo con el estudio de las páginas Web HTML, ahora aprenderás a cerca de las pseudoclases. ... [02/12/08]
5/5 595  
Funciones en C (segunda parte)
Sigue este curso de programación informática sobre Funciones en C en su parte complementaria. Aprende las variables de registro en relación con la unidad central de proce... [17/10/08]
5/5 1.820  
Primeros pasos con XML y XSL
XML es el acrónimo del inglés eXtensible Markup Language cuyo objetivo principal es conseguir una página web más semántica. Inicialmente nace como sucesor del HTML, separ... [10/09/04]
 4,25/5 6.786  


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail