Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
“UNIPANAMERICA”
FACULTAD DE INGENIERIA DE SISTEMAS
“ACTIVIDAD DE APRENDIZAJE 3”
AUTOR:
JULIAN EDUARDO ZULUAGA CASTILLO
DOCENTE:
SANDRA LILIANA HUERTAS VASQUEZ
11 DE NOVIEMBRE DE 2019
PARTE 1: CONSULTAS MULTITABLA Has superado tu primera prueba el administrador de la base de
datos de la empresa “Net service system”, está contento con tu trabajo y ahora quiere confiarte
un nuevo reto, esta vez tendrás que manipular varias tablas para obtener unos informes que el
gerente comercial le ha solicitado al administrador, a continuación, te mostraré el Modelo Entidad
Relación:
SELECT nombre,dni FROM cliente WHERE dni
SELECT * FROM programa
3. Obtén un listado con los nombres de todos los programas.
SELECT nombre FROM programa
6. Obtén una lista con los nombres de programas, sin que aparezcan valores duplicados (utiliza
DISTINCT).
SELECT DISTINCT (nombre) FROM `programa`
7. Obtén el DNI más 4 de todos los clientes.
SELECT nombre,dni,dni+4 FROM `cliente`
16. Genera una lista con los códigos de las distintas versiones de Windows y Access. Utilizar el
operador IN.
SELECT nombre,version FROM programa WHERE nombre In ('windows','access')
17. Obtén un listado que incluya los nombres de los clientes de edades comprendidas entre 10 y
25 y de los mayores de 50 años. Da una solución con BETWEEN .
SELECT nombre,edad FROM cliente WHERE edad BETWEEN '10' AND '25' OR edad >=50
18. Saca un listado con los comercios de Sevilla y Madrid. No se admiten valores duplicados.
SELECT DISTINCT (ciudad) ,nombre FROM almacenes WHERE ciudad='sevilla' or ciudad='madrid'
20. ¿Qué clientes terminan su nombre en la letra “o” y, además, son mayores de30 años?
SELECT nombre,edad FROM cliente WHERE nombre like '%O' OR edad>30
21. Obtén un listado en el que aparezcan los programas cuya versión finalice por una letra i, o cuyo
nombre comience por una A o por una W.
SELECT nombre,version FROM programa WHERE version like '%i' and nombre like 'a%'or nombre LI
KE 'w%'
22. Obtén un listado en el que aparezcan los programas cuya versión finalice por una letra i, o cuyo
nombre comience por una A y termine por una S.
SELECT nombre,version FROM programa WHERE version like '%i' and nombre like 'a%'or nombre LI
KE 's%'
23. Obtén un listado en el que aparezcan los programas cuya versión finalice por una letra i, y cuyo
nombre no comience por una A.
SELECT nombre,version FROM programa WHERE version like '%i' and nombre NOT like 'a%'
29. Genera un listado de los programas y cantidades que se han distribuido a El Corte Inglés de
Madrid.
SELECT programa.nombre,progalma.cantidad FROM almacenes, progalma, programa WHERE almacenes.
cif = progalma.cif AND progalma.codigo = programa.codigo AND almacenes.nombre='el corte
ingles'
30. ¿Qué fabricante ha desarrollado Freddy Hardest?
SELECT fabricante.nombre FROM fabricante,progfab,programa WHERE fabricante.id_fab = progfab.
id_fab AND progfab.codigo = programa.codigo AND programa.nombre='FREDDY HARDEST'
34. ¿Qué usuarios han optado por Internet como medio de registro?
SELECT cliente.nombre FROM cliente, registro WHERE cliente.dni = registro.dni AND medio = 'I
NTERNET'
36. ¿En qué localidades se han vendido productos que se han registrado por Internet?
SELECT almacenes.ciudad FROM almacenes, progalma, programa, registro WHERE almacenes.cif = p
rogalma.cif AND progalma.codigo = programa.codigo AND programa.codigo =registro.codigo AND r
egistro.medio = "INTERNET"
37. Obtén un listado de los nombres de las personas que se han registrado por Internet.
SELECT cliente.nombre, programa.nombre FROM cliente, registro, programa WHERE cliente.dni =
registro.dni AND registro.codigo = programa.codigo AND registro.medio = "INTERNET"
38. Genera un listado en el que aparezca cada cliente junto al programa que ha registrado, el
medio con el que lo ha hecho y el comercio en el que lo ha adquirido.
SELECT cliente.nombre, programa.nombre, programa.version, registro.medio, almacenes.nombre,
almacenes.ciudad FROM cliente, registro, programa, progalma, almacenes WHERE cliente.dni = r
egistro.dni AND registro.codigo = programa.codigo AND programa.codigo = progalma.codigo AND
progalma.cif = almacenes.cif
39. Genera un listado con las ciudades en las que se pueden obtener los productos de Oracle.
SELECT DISTINCT almacenes.ciudad FROM almacenes, progalma, programa, progfab, fabricante WHE
RE almacenes.cif=progalma.cif AND progalma.codigo = programa.codigo AND programa.codigo = pr
ogfab.codigo AND progfab.id_fab = fabricante.id_fab AND fabricante.nombre = "ORACLE"
40. Obtén el nombre de los usuarios que han registrado Access XP.
SELECT cliente.nombre FROM cliente, registro, programa WHERE cliente.dni = registro.dni AND
registro.codigo = programa.codigo AND programa.nombre = "ACCESS" AND programa.version = "xp"
51. Visualiza el nombre de todos los clientes en mayúscula. En el resultado de la consulta debe
aparecer también la longitud de la cadena nombre.
SELECT UPPER(nombre), LENGTH(nombre) FROM cliente
52. Con una consulta concatena los campos nombre y versión de la tabla PROGRAMA.
SELECT CONCAT(nombre," ",version) FROM programa
53. Nombre de aquellos fabricantes cuyo país es el mismo que “Oracle”. (Subconsulta).
SELECT nombre FROM fabricante WHERE pais = (SELECT pais FROM fabricante WHERE nombre = "ORAC
LE" )
54. Nombre de aquellos clientes que tienen la misma edad que Pepe Pérez. (Subconsulta).
SELECT nombre ,edad FROM cliente WHERE edad = (SELECT edad FROM cliente WHERE nombre = "PEPI
TO PEREZ")
55. Genera un listado con los comercios que tienen su sede en la misma ciudad que tiene el
comercio “FNAC”. (Subconsulta).
SELECT nombre,ciudad FROM almacenes WHERE ciudad = (SELECT ciudad FROM almacenes WHERE nombr
e = "FNAC")
56. Nombre de aquellos clientes que han registrado un producto de la misma forma que el cliente
“Pepe Pérez”. (Subconsulta).
SELECT DISTINCT cliente.nombre FROM cliente, registro WHERE cliente.dni = registro.dni AND m
edio IN (SELECT DISTINCT medio FROM cliente, registro WHERE cliente.dni = registro.dni AND c
liente.nombre = "PEPITO PEREZ" )
Nota: la parte 2 del taller no se realiza ya que no se
subministran datos para alimentar las tablas .