0% encontró este documento útil (0 votos)
3 vistas4 páginas

SQL y Álgebra Relacional: Ejemplos Clave

Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas4 páginas

SQL y Álgebra Relacional: Ejemplos Clave

Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Equivalente en SQL de las operaciones de álgebra relacional del apunte

SELECCIÓN:

1.- select * from préstamo


where nombre_sucursal = ‘Navacerrada’;

2.- select * from préstamo


where importe > 1200;

3.- select * from préstamo


where nombre_sucursal like ‘Navacerrada’ and importe > 1200;

4.- select * from responsable_prestamo where nom_cte like nom_banquero;

PROYECCIÓN:

1.- select numero_prestamo, importe


from prestamo;

COMPOSICION DE OPERACIONES RELACIONALES:

1.- select nombre_cliente


from cliente
where ciudad_cliente = ‘Peguerinos’;

UNIÓN:

1.- select nombre_cliente from prestatario


UNION select nombre_cliente from impositor

DIFERENCIA (RESTA):

1.- select nombre_cliente from impositor


where nombre_cliente NOT IN (select nombre_cliente from prestatario);

PRODUCTO CARTESIANO:

1.- select *
FROM prestatario, préstamo;

Con renombramiento o alias de tabla:


select * from prestatario pt, préstamo po;
REUNIÓN NATURAL O JUNTA:

1.- select *
from prestatario pt, préstamo po
where pt.numero_prestamo = po.numero_prestamo;

Con proyección de un solo campo:

select nombre_cliente
from prestatario pt, préstamo po
where pt.numero_prestamo = po.numero_prestamo;

INTERSECCIÓN:

1.- select nombre_cliente from prestatario


where nombre_cliente IN (select nombre_cliente from impositor);

OTRO EJEMPLO DE REUNIÓN NATURAL O JUNTA:

1.- select nombre_cliente, numero_prestamo, importe


from prestatario pt, préstamo po
where pt.numero_prestamo = po.numero_prestamo;

DIVISIÓN:

Dadas las tablas:

IMPOSITOR (nombre_cliente, numero_cuenta)


CUENTA(numero_cuenta, nombre_sucursal, importe)
SUCURSAL(nombre_sucursal, ciudad_sucursal)

1.- select nombre_cliente, nombre_sucursal


from impositor i, cuenta c
where i.numero_cuenta = c.numero_cuenta
and nombre_sucursal IN
(select nombre_sucursal
from sucursal
where ciudad_sucursal = ‘Arganzuela’);

PROYECCIÓN GENERALIZADA:

1.- select nombre_cliente, limite – saldo_credito


from información_credito;

Alternativa usando alias de campo:


select nombre_cliente, limite – saldo_credito as disponible
from información_credito;

AGREGACIÓN:

1.- select SUM(sueldo)


from trabajo_por_horas;

2.- select COUNT(DISTINCT nombre_sucursal)


from trabajo_por_horas;

3.- select SUM(sueldo)


from trabajo_por_horas
GROUP BY nombre_sucursal;

4.- select SUM(sueldo) as ‘Suma de sueldos’,


MAX(sueldo) as ‘Sueldo máximo’
from trabajo_por_horas
GROUP BY nombre_sucursal;

REUNIÓN EXTERNA:

Reunión natural para comparación:

1.- select *
from empleado e
INNER JOIN trabajo_a_tiempo_completo t
ON e.nombre_empleado = t.nombre_empleado;

Equivalente a:
select *
from empleado e, trabajo_a_tiempo_completo t
where e.nombre_empleado = t.nombre_empleado;

2.- REUNIÓN EXTERNA POR LA IZQUIERDA:

select *
from empleado e
LEFT JOIN trabajo_a_tiempo_completo t
ON e.nombre_empleado = t.nombre_empleado;
3.- REUNIÓN EXTERNA POR LA DERECHA:

select *
from empleado e
RIGHT JOIN trabajo_a_tiempo_completo t
ON e.nombre_empleado = t.nombre_empleado;

4.- REUNIÓN EXTERNA COMPLETA:

select *
from empleado e
FULL [EXTERNAL] JOIN trabajo_a_tiempo_completo t
ON e.nombre_empleado = t.nombre_empleado;

También podría gustarte