Ejecicios De Sql

Páginas: 6 (1419 palabras) Publicado: 27 de octubre de 2011
Bases de Datos Avanzadas
El lenguaje SQL

Notas by Dr. Luciano García-Bañuelos

Estructura básica de una consulta
SELECT [DISTINCT] Lista-de-atributos Lista-de-relaciones FROM WHERE Predicado-de-selección

πA (σθ (R1×R2×...×Rn))
© L. García-Bañuelos 2

1

Algunos comentarios
La parte SELECT indica la lista de atributos a proyectar en el resultado La clausula opcional DISTINCTelimina tuplas duplicadas en el resultado
Este es el comportamiento normal en teoría de conjuntos

El caracter * puede substituir a la lista de atributos, e indica que todos serán proyectados

La parte FROM especifica una lista de relaciones sobre las cuales se calculará un producto cartesiano La parte WHERE especifica la condición de selección Nótese que esta parte es opcional
© L.García-Bañuelos 3

Nuestra primera consulta
¿Cuál es el nombre de los empleados que ganan más de 34000?
EMP
NE 1 2 3 4 5 6 7 8 NOMBRE J. Pérez M. López A. Lira J. Mirón B. Cortina L. Cosio R. Barco J. Aspe PUESTO Gerente Analista Analista Consultor Ingeniero Programador Programador Gerente SAL 40000 34000 34000 40000 34000 24000 24000 40000 NOMBRE J. Pérez J. Mirón J. Aspe

πNOMBRE(σsal>34000 (EMP)) σsal>34000 EMP
select NOMBRE from EMP where sal>34000

© L. García-Bañuelos

4

2

Álgebra relacional y SQL
σ θ(R) select * from R where θ

π A(R)

select A from R

R×S

select * from R, S

© L. García-Bañuelos

5

Ejemplos (1/3)
EMP
NE 1 8 NOMBRE J. Pérez J. Aspe PUESTO Gerente Gerente SAL 40000 40000 NP 1 2

PROY
NOMBRE Textil IS e-Portal PRESUPUESTO 2000000 2500000 NG1 1

select * from EMP, PROY where EMP.NE = PROY.NG
NE 1 1 NOMBRE J. Pérez J. Pérez PUESTO Gerente Gerente

EMP

EMP.NE=PROY.NG

PROY

SAL 40000 40000

NP 1 2

NOMBRE Textil IS e-Portal

PRESUPUESTO 2000000 2500000

NG 1 1

© L. García-Bañuelos

6

3

Ejemplos (2/3)
EMP
NE 1 8 NOMBRE J. Pérez J. Aspe PUESTO Gerente Gerente SAL 40000 40000 NP 1 2

PROY
NOMBRE TextilIS e-Portal PRESUPUESTO 2000000 2500000 NG 1 1

select E.NOMBRE from EMP E, PROY P where E.NE = P.NG
NOMBRE J. Pérez J. Pérez

select DISTINCT EMP.NOMBRE from EMP, PROY where EMP.NE = PROY.NG
NOMBRE J. Pérez

Podemos asignar nombres cortos a cada relación

© L. García-Bañuelos

7

Ejemplos (3/3)
SQL provee un operador especial para buscar cadenas con expresiones regulares
EMP
NE1 2 3 4 5 6 7 8 NOMBRE J. Pérez M. López A. Lira J. Mirón B. Cortina L. Cosio R. Barco J. Aspe PUESTO Gerente Analista Analista Consultor Ingeniero Programador Programador Gerente SAL 40000 34000 34000 40000 34000 24000 24000 40000 NOMBRE J. Pérez M. López

select NOMBRE from EMP where NOMBRE like ‘%ez’

© L. García-Bañuelos

8

4

Unión
Busquemos los nombres de los gerentes de losproyectos
EMP2 EMP1
NE 1 4 8 NOMBRE J. Pérez J. Mirón J. Aspe PUESTO Gerente Consultor Gerente SAL 40000 40000 40000 NE 2 3 4 5 NOMBRE M. López A. Lira J. Mirón B. Cortina PUESTO Analista Analista Consultor Ingeniero SAL 34000 34000 40000 34000

PROY
NP 1 2 NOMBRE Textil IS e-Portal PRESUPUESTO 2000000 2500000 NG 1 3

© L. García-Bañuelos

9

Versión en SQL
La siguiente consulta es unarespuesta válida:
select EMP1.NOMBRE from EMP1, PROY where EMP1.NE = PROY.NG UNION select EMP2.NOMBRE from EMP2, PROY where EMP2.NE = PROY.NG

© L. García-Bañuelos

10

5

Intersección
Busquemos ahora los nombres de los empleados que aparecen en ambas relaciones
EMP1
NE 1 4 8 NOMBRE J. Pérez J. Mirón J. Aspe PUESTO Gerente Consultor Gerente SAL 40000 40000 40000 NE 2 3 4 5

EMP2NOMBRE M. López A. Lira J. Mirón B. Cortina PUESTO Analista Analista Consultor Ingeniero SAL 34000 34000 40000 34000

select NOMBRE from EMP1 INTERSECT select NOMBRE from EMP2
© L. García-Bañuelos 11

Diferencia
Busquemos ahora los nombres de los empleados que están en EMP1 pero no en EMP2
EMP1
NE 1 4 8 NOMBRE J. Pérez J. Mirón J. Aspe PUESTO Gerente Consultor Gerente SAL 40000 40000 40000...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • ejecicios
  • Ejecicios resueltos
  • que es sql
  • ejecicios de termodinamica
  • Que es sql
  • Ejecicios de miller
  • SQL
  • EJECICIO 5

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS