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

Consultas SQL Multitablas Avanzadas

El documento presenta 11 ejercicios de consultas SQL sobre múltiples tablas relacionadas entre sí. Los ejercicios involucran tablas como empleados, oficinas, pedidos y clientes, y piden listar y relacionar datos de estas tablas usando joins. El alumno Mario A. Saavedra Merida realiza las consultas SQL requeridas.
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)
179 vistas4 páginas

Consultas SQL Multitablas Avanzadas

El documento presenta 11 ejercicios de consultas SQL sobre múltiples tablas relacionadas entre sí. Los ejercicios involucran tablas como empleados, oficinas, pedidos y clientes, y piden listar y relacionar datos de estas tablas usando joins. El alumno Mario A. Saavedra Merida realiza las consultas SQL requeridas.
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

UNIVERSIDAD PRIVADA DOMINGO SAVIO

ACTIVIDAD #3
CONSULTAS SQL SERVER MULTITABLAS

ALUMNO:
 MARIO A. SAAVEDRA MÉRIDA

DOCENTE: Ing. WILMER CAMPOS

Santa Cruz - Bolivia


UNIVERSIDAD PRIVADA DOMINGO SAVIO

ACTIVIDAD #3
CONSULTAS SQL SERVER MULTITABLAS

ALUMNO:
 MARIO A. SAAVEDRA MÉRIDA

DOCENTE: Ing. WILMER CAMPOS

Santa Cruz - Bolivia


Actividad #2 Administración de Base de Datos

ACTIVIDAD 3: SQL 1 - Las consultas multitabla

Ejercicios del tema:


/*1.Listar los empleados (numemp, nombre, oficina) y con cada uno de ellos la
ciudad y región de cada una de las oficinas donde trabajan.*/

SELECT numemp, nombre,empleados.oficina, ciudad, region


FROM empleados INNER JOIN oficinas
ON oficinas.oficina = empleados.oficina

/*2.Listar los empleados tal cual como se pide en la pregunta anterior, pero
mostrando inclusive los empleados que no tienen oficina asignada, mostrando datos
Nulos donde fuera necesario.*/

SELECT numemp, nombre,empleados.oficina, ciudad, region


FROM empleados LEFT JOIN oficinas
ON oficinas.oficina = empleados.oficina

/*3.Desplegar una lista, ordenada por ciudad, de las oficinas (código oficina,
ciudad, región), así como el código del director y su nombre.*/

SELECT oficinas.oficina, ciudad, region, numemp,nombre


FROM oficinas INNER JOIN empleados
ON oficinas.dir = empleados.numemp
ORDER BY oficinas.ciudad ASC

SELECT oficinas.oficina, ciudad, region, numemp,nombre


FROM oficinas LEFT JOIN empleados
ON oficinas.dir = empleados.numemp
ORDER BY oficinas.ciudad ASC

/*4.Listar las oficinas del “este” indicando para cada una de ellas su número,
ciudad, números y nombres de sus empleados. Deben aparecer sólo las que tienen
empleados.*/

SELECT oficinas.oficina, ciudad, region, numemp, nombre


FROM oficinas INNER JOIN empleados ON oficinas.oficina = empleados.oficina
WHERE oficinas.region = 'este';

/*5.Realizar una consulta para listar de forma similar a la anterior pregunta,


las oficinas del “este” que no tienen empleados. Donde corresponda puede mostrar
valores nulos.*/

SELECT oficinas.oficina, ciudad, region, numemp, nombre


FROM oficinas LEFT JOIN empleados ON oficinas.oficina = empleados.oficina
WHERE oficinas.region = 'este';

/*6.Desplegar los pedidos mostrando su número, importe, nombre del cliente y el


límite de crédito del cliente. Ordenar por el importe de pedido, del menor al
mayor monto.*/

SELECT numpedido, importe, nombre AS cliente, limitecredito


FROM pedidos INNER JOIN clientes ON pedidos.clie = clientes.numclie
ORDER BY importe;

MARIO A. SAAVEDRA MERIDA pág. 1


Actividad #2 Administración de Base de Datos

/*7.Listar los pedidos mostrando su número, importe, nombre del cliente y el


límite de crédito del cliente, ordenado del mayor al menor monto límite de
crédito.*/

SELECT numpedido, importe, nombre AS cliente, limitecredito


FROM pedidos INNER JOIN clientes ON pedidos.clie = clientes.numclie
ORDER BY limitecredito DESC

/*8.Listar las oficinas con objetivo superior a 600.000 pts indicando para cada
una de ellas el importe de “ventas” realizadas durante el presente año. Ordenar
por el Objetivo de mayor al menor monto.*/

SELECT oficinas.*, pedidos.importe


FROM oficinas LEFT JOIN (empleados INNER JOIN pedidos ON empleados.numemp =
pedidos.rep) ON oficinas.oficina = empleados.oficina
WHERE oficinas.objetivo > 600.000 ORDER BY oficinas.objetivo DESC;

/*9.Listar los pedidos superiores a 25.000 pts, incluyendo el nombre del empleado
que tomó el pedido y el nombre del cliente que lo solicitó.*/

SELECT numpedido, empleados.nombre, clientes.nombre


FROM (empleados INNER JOIN clientes ON empleados.numemp = clientes.repclie)
INNER JOIN pedidos ON empleados.numemp = pedidos.rep
WHERE pedidos.importe > 25.000;

/*10.Mostrar los empleados que realizaron su primer pedido el mismo día en que
fueron contratados.*/

SELECT empleados.*, pedidos.fechapedido


FROM empleados INNER JOIN pedidos ON empleados.contrato = pedidos.fechapedido;

/*11.Listar los empleados con una cuota superior a la de su jefe; para cada
empleado sacar sus datos y el número, nombre de su jefe.*/

SELECT empleados.numemp, empleados.nombre, empleados.cuota, EP1.nombre AS


Nombre_Jefe
FROM empleados INNER JOIN empleados AS EP1 ON empleados.jefe=EP1.numemp
WHERE empleados.cuota>EP1.cuota

MARIO A. SAAVEDRA MERIDA pág. 2

También podría gustarte