Capitulo17 Subconsultas Avanzadas 26

Páginas: 6 (1438 palabras) Publicado: 9 de marzo de 2015
CAPITULO 17
Subconsultas Avanzadas

Universidad del Cauca – FIET – Departamento de Sistemas

Objetivos


Después de este capítulo, usted estará en
capacidad de:











17-2

Escribir una subconsulta de múltiples columnas
Escribir una subconsulta en la cláusula FROM
Usar subconsultas escalares en SQL
Describir los tipos de problemas que pueden
ser resueltos con subconsultascorrelacionadas
Escribir subconsultas correlacionadas
Modificar y borrar filas usando subconsultas
correlacionadas
Usar los operadores EXISTS y NOT EXISTS
Usar la cláusula WITH

Universidad del Cauca – FIET – Departamento de Sistemas

Subconsultas
Consulta Principal:
SELECT …
FROM …
WHERE …



Se pueden usar para:




Subconsulta:
( SELECT …
FROM …
WHERE … )

17-3



Proveer valores a las
cláusulasWHERE,
HAVING y START WITH
de una sentencia
SELECT
Seleccionar las filas a
insertarse en una
sentencia INSERT o
CREATE TABLE
Seleccionar las filas
que se incluyen en una
vista o instantánea con
las sentencias CREATE
VIEW o CREATE
SNAPSHOT

Universidad del Cauca – FIET – Departamento de Sistemas

Subconsultas
Consulta Principal:
SELECT …
FROM …
WHERE …



Se pueden usar para:




Subconsulta:
(SELECT …
FROM …
WHERE … )

17-4

Definir uno o más
valores que se
modifican a filas
existentes en una tabla
con la sentencia
UPDATE
Usada en la cláusula
FROM de la sentencia
SELECT, permite definir
las filas de una tabla
que serán operadas
por un consulta
principal o
contenedora. Opera de
igual forma en las
sentencias INSERT,
UPDATE y DELETE

Universidad del Cauca – FIET – Departamento de Sistemas Sintaxis de las subconsultas
SELECT
FROM
WHERE
FROM
[WHERE

ListaDeColumnas
TablaExterna
Expresión Operador
(SELECT
ListaDeColumnas
TablaInterna
Expresión Operador]);



La subconsulta (consulta interna o consulta anidada) se ejecuta antes
de la consulta principal. Esto no aplica en subconsultas correlacionadas



El resultado de la subconsulta se usa para ejecutar la consulta principal

Las subconsultas se pueden ubicar en las cláusulas WHERE, HAVING y
FROM



El Operador puede ser de dos tipos:



17-5

De fila simple como >, >=, <, <=, =, <>
De múltiples filas como IN, ANY, ALL

Universidad del Cauca – FIET – Departamento de Sistemas

Subconsultas de múltiples
columnas
Consulta Principal:
Cuáles empleados tienen el mismo cargo
y el mismo jefe que los empleados del
Depto 30?Subconsulta:
Cargos y Jefes del Dep=30?

17-6

Universidad del Cauca – FIET – Departamento de Sistemas

Subconsultas de múltiples
columnas


Cada fila de la consulta principal es
comparada con las filas resultantes de la
subconsulta, comparando todas las columnas
al mismo tiempo, conocida como comparación
emparejada (pairwise comparison)

17-7

Universidad del Cauca – FIET – Departamento deSistemas

Subconsulta de comparación
dispareja






Los resultados son los
mismos que la
consulta emparejada
de la diapositiva
anterior SOLO por
casualidad
Las dos consultas
responden a lógicas
distintas
Los resultados de
cada subconsulta se
analizan por separado
(desparejadas)
17-8

Universidad del Cauca – FIET – Departamento de Sistemas

Subconsultas emparejadas y
disparejas

Empleados delmismo cargo y
departamento de los empleados
con nombre MARTINEZ y
ZAMBRANO
17-9

Universidad del Cauca – FIET – Departamento de Sistemas

Subconsultas en la cláusula
FROM




Consultar los salarios más altos de cada departamento de la
empresa
La subconsulta en la cláusula FROM es conocida como una
Vista en Línea y sólo existe durante la ejecución de la
sentencia SELECT actual

17-10

Universidaddel Cauca – FIET – Departamento de Sistemas

Subconsultas escalares




Una subconsulta escalar es aquella subconsulta
que retorna una sola columna y una sola fila
En Oracle 8i las subconsultas escalares sólo se
soportaban en:





En Oracle 9i, las subconsultas escalares se
pueden usar también en:







Sentencias SELECT (cláusulas FROM y WHERE)
Cláusula VALUES de la sentencia INSERT...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Subconsultas avanzadas
  • SUBCONSULTAS
  • Subconsultas
  • 26
  • 26
  • yo soy 26
  • 26
  • 26

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS