100% encontró este documento útil (1 voto)
861 vistas9 páginas

Consultas SQL para Gestión de Datos

El documento contiene 56 consultas SQL para extraer información de diferentes tablas de una base de datos. Las consultas seleccionan, filtran y ordenan datos, realizan cálculos estadísticos y utilizan funciones como COUNT, SUM, AVG, MAX, MIN, UPPER y LENGTH.

Cargado por

Fernandö Ac
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
861 vistas9 páginas

Consultas SQL para Gestión de Datos

El documento contiene 56 consultas SQL para extraer información de diferentes tablas de una base de datos. Las consultas seleccionan, filtran y ordenan datos, realizan cálculos estadísticos y utilizan funciones como COUNT, SUM, AVG, MAX, MIN, UPPER y LENGTH.

Cargado por

Fernandö Ac
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

1 Averigua el DNI de todos los clientes.

SELECT dni FROM clientes; 2 Consulta todos los datos de todos los programas. SELECT * FROM programas; 3 Obtn un listado con los nombres de todos los programas. SELECT nombre FROM programas; 4 Genera una lista con todos los comercios. SELECT * FROM comercios; 5 Genera una lista de las ciudades con establecimientos donde se venden programas, sin que aparezcan valores duplicados (utiliza DISTINCT). SELECT DISTINCT ciudad FROM comercios, distribuye WHERE comercio.cif = distribuye.cif; 6 Obtn una lista con los nombres de programas, sin que aparezcan valores duplicados (utiliza DISTINCT). SELECT DISTINCT nombre FROM programas; 7 Obtn el DNI ms 4 de todos los clientes. SELECT dni+4 FROM clientes; 8 Haz un listado con los cdigos de los programas multiplicados por 7. SELECT codigo * 7 FROM programas; 9 Cules son los programas cuyo cdigo es inferior o igual a 10? SELECT *

FROM programas WHERE codigo <= 10 ; 10 Cul es el programa cuyo cdigo es 11? SELECT * FROM programas WHERE codigo = 11; 11 Qu fabricantes son de Estados Unidos? SELECT * FROM fabricantes WHERE pais = 'Estados Unidos'; 12 Cules son los fabricantes no espaoles? Utilizar el operador IN. SELECT * FROM fabricantes WHERE pais NOT IN ('Espaa'); 13 Obtn un listado con los cdigos de las distintas versiones de Windows. SELECT version FROM programas WHERE nombre = 'Windows'; 14 En qu ciudades comercializa programas El Corte Ingls? SELECT ciudad FROM comercios WHERE nombre = 'El Corte Ingls'; 15 Qu otros comercios hay, adems de El Corte Ingls? Utilizar el operador IN. SELECT nombre FROM comercios WHERE nombre NOT IN ('El Corte Ingls'); 16 Genera una lista con los cdigos de las distintas versiones de Windows y Access. Utilizar el operador IN. SELECT codigo FROM programas WHERE nombre IN ( 'Access' , 'Windows' );

17 Obtn un listado que incluya los nombres de los clientes de edades comprendidas entre 10 y 25 y de los mayores de 50 aos. Da una solucin con BETWEEN y otra sin BETWEEN. SELECT nombre FROM clientes WHERE (edad BETWEEN 10 AND 25) OR edad >= 50; SELECT nombre FROM clientes WHERE (edad >= 10 AND edad <= 25) OR edad >= 50; 18 Saca un listado con los comercios de Sevilla y Madrid. No se admiten valores duplicados. SELECT DISTINCT nombre FROM comercios WHERE ciudad IN ( 'Sevilla' , 'Madrid' ) ; 19 Qu clientes terminan su nombre en la letra o ? SELECT * FROM clientes WHERE nombre LIKE '%o' ; 20 Qu clientes terminan su nombre en la letra o y, adems, son mayores de 30 aos? SELECT * FROM clientes WHERE nombre LIKE '%O' AND edad > 30; 21 Obtn un listado en el que aparezcan los programas cuya versin finalice por una letra i, o cuyo nombre comience por una A o por una W. SELECT * FROM programas WHERE version LIKE '%i' OR nombre LIKE 'A%' OR nombre LIKE 'W%'; 22 Obtn un listado en el que aparezcan los programas cuya versin finalice por una letra i, o cuyo nombre comience por una A y termine por una S. SELECT NOMBRE, VERSION FROM PROGRAMAS WHERE VERSION LIKE '%I' OR NOMBRE LIKE 'A%S'; 23 Obtn un listado en el que aparezcan los programas cuya versin finalice por una letra i, y cuyo nombre no comience por una A.

SELECT NOMBRE, VERSION FROM PROGRAMAS WHERE VERSION LIKE '%I' AND NOMBRE NOT LIKE 'A%'; 24 Obtn una lista de empresas por orden alfabtico ascendente. SELECT * FROM COMERCIO ORDER BY NOMBRE ASC; 25 Genera un listado de empresas por orden alfabtico descendente. SELECT NOMBRE FROM COMERCIO ORDER BY NOMBRE DESC; 26 Obtn un listado de programas por orden de versin. SELECT * FROM PROGRAMA ORDER BY VERSION; 27 Genera un listado de los programas que desarrolla Oracle. SELECT PROGRAMA.* FROM FABRICANTE, DESARROLLA, PROGRAMA WHERE FABRICANTE.ID_FAB=DESARROLLA.ID_FAB AND DESARROLLA.CODIGO=PROGRAMA.CODIGO AND FABRICANTE.NOMBRE='ORACLE'; (Es mejor hacerlo con subconsultas) 28 Qu comercios distribuyen Windows? SELECT COMERCIO.NOMBRE FROM COMERCIO, DISTRIBUYE, PROGRAMA WHERE COMERCIO.CIF = DISTRIBUYE.CIF AND DISTRIBUYE.CODIGO = PROGRAMA.CODIGO AND PROGRAMA.NOMBRE = 'WINDOWS'; (Es mejor hacerlo con subconsultas) 29 Genera un listado distribuido El Corte Ingls de Madrid. de los programas y cantidades que ha

SELECT PROGRAMA.NOMBRE,DISTRIBUYE.CANTIDAD FROM COMERCIO, DISTRIBUYE, PROGRAMA WHERE COMERCIO.CIF = DISTRIBUYE.CIF

AND DISTRIBUYE.CODIGO = PROGRAMA.CODIGO AND COMERCIO.NOMBRE= 'EL CORTE INGLS'; 30 Qu fabricante ha desarrollado Freddy Hardest? SELECT FABRICANTE.NOMBRE FROM FABRICANTE,DESARROLLA,PROGRAMA WHERE FABRICANTE.ID_FAB = DESARROLLA.ID_FAB AND DESARROLLA.CODIGO = PROGRAMA.CODIGO AND PROGRAMA.NOMBRE= 'FREDDY HARDEST'; (Es mejor hacerlo con subconsultas) 31 Selecciona el nombre de los programas que se registran por Internet. SELECT DISTINCT PROGRAMA.NOMBRE FROM PROGRAMA, REGISTRA WHERE PROGRAMA.CODIGO = REGISTRA.CODIGO AND MEDIO = 'INTERNET' ; 32 Selecciona Internet. el nombre de las personas que se registran por

SELECT CLIENTE.NOMBRE FROM CLIENTE, REGISTRA WHERE CLIENTE.DNI = REGISTRA.DNI AND MEDIO = 'INTERNET'; 33 Qu medios ha utilizado para registrarse Pepe Prez? SELECT MEDIO FROM REGISTRA, CLIENTE WHERE REGISTRA.DNI = CLIENTE.DNI AND NOMBRE = 'PEPE PREZ'; 34 Qu usuarios han optado por Internet como medio de registro? SELECT CLIENTE.NOMBRE FROM CLIENTE, REGISTRA WHERE CLIENTE.DNI = REGISTRA.DNI AND MEDIO = 'INTERNET'; 35 Qu programas han recibido registros por tarjeta postal? SELECT PROGRAMA.NOMBRE FROM PROGRAMA, REGISTRA WHERE PROGRAMA.CODIGO = REGISTRA.CODIGO AND MEDIO = 'TARJETA POSTAL';

36 En qu localidades registrado por Internet?

se

han

vendido

productos

que

se

han

SELECT COMERCIO.CIUDAD FROM COMERCIO, DISTRIBUYE, PROGRAMA, REGISTRA WHERE COMERCIO.CIF = DISTRIBUYE.CIF AND DISTRIBUYE.CODIGO = PROGRAMA.CODIGO AND PROGRAMA.CODIGO =REGISTRA.CODIGO AND REGISTRA.MEDIO = 'INTERNET'; 37 Obtn un listado de los nombres de las personas que se han registrado por Internet, junto al nombre de los programas para los que ha efectuado el registro. SELECT CLIENTE.NOMBRE, PROGRAMA.NOMBRE FROM CLIENTE, REGISTRA, PROGRAMA WHERE CLIENTE.DNI = REGISTRA.DNI AND REGISTRA.CODIGO = PROGRAMA.CODIGO AND REGISTRA.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 C.NOMBRE, P.NOMBRE, P.VERSION, R.MEDIO, CO.NOMBRE, CO.CIUDAD FROM CLIENTE C, REGISTRA R, PROGRAMA P, DISTRIBUYE D, COMERCIO CO WHERE C.DNI = R.DNI AND R.CODIGO = P.CODIGO AND P.CODIGO = D.CODIGO AND D.CIF = CO.CIF ; 39 Genera un listado con las ciudades en las que se pueden obtener los productos de Oracle. SELECT DISTINCT COMERCIO.CIUDAD FROM COMERCIO, DISTRIBUYE, PROGRAMA, DESARROLLA, FABRICANTE WHERE COMERCIO.CIF=DISTRIBUYE.CIF AND DISTRIBUYE.CODIGO = PROGRAMA.CODIGO AND PROGRAMA.CODIGO = DESARROLLA.CODIGO AND DESARROLLA.ID_FAB = FABRICANTE.ID_FAB AND FABRICANTE.NOMBRE = 'ORACLE'; 40 Obtn el nombre de los usuarios que han registrado Access XP. SELECT CLIENTE.NOMBRE FROM CLIENTE, REGISTRA, PROGRAMA WHERE CLIENTE.DNI = REGISTRA.DNI AND REGISTRA.CODIGO = PROGRAMA.CODIGO AND PROGRAMA.NOMBRE = 'ACCESS'

AND PROGRAMA.VERSION = 'XP'; 41 Nombre Oracle. de aquellos fabricantes cuyo pas es el mismo que

SELECT NOMBRE FROM FABRICANTE WHERE PAIS=(SELECT PAIS FROM FABRICANTE WHERE NOMBRE = 'ORACLE'); 42 Nombre de aquellos clientes que tienen la misma edad que Pepe Prez. SELECT NOMBRE FROM CLIENTE WHERE EDAD=(SELECT EDAD FROM CLIENTE WHERE NOMBRE='PEPE PREZ'); 43 Genera un listado con los comercios que tienen su sede en la misma ciudad que tiene el comercio FNAC. SELECT nombre FROM comercios WHERE ciudad = (SELECT ciudad FROM comercios WHERE nombre = 'FNAC'); 44 Nombre de aquellos clientes que han registrado un producto de la misma forma que el cliente Pepe Prez. SELECT DISTINCT clientes.nombre FROM clientes WHERE dni IN (SELECT dni FROM registra WHERE medio IN (SELECT DISTINCT medio FROM registra WHERE dni = (SELECT DNI FROM clientes WHERE nombre= Prez')));

'Pepe

45 Obtener el nmero de programas que hay en la tabla programas. SELECT COUNT(*) FROM programas; 46 Calcula el nmero de clientes cuya edad es mayor de 40 aos. SELECT COUNT(dni) FROM clientes WHERE edad > 40;

47 Calcula el nmero de establecimiento cuyo CIF es 1. SELECT SUM(cantidad) FROM distribuye WHERE cif = 1;

productos

que

ha

vendido

el

48 Calcula la media de programas que se venden cuyo cdigo es 7. SELECT AVG(cantidad) FROM distribuye,programas WHERE distribuye.codigo = programa.codigo AND programa.codigo = 7 ; 49 Calcula la mnima cantidad de programas de cdigo 7 que se ha vendido. SELECT MIN(cantidad) FROM distribuye,programa WHERE distribuye.codigo = programa.codigo AND programa.codigo = 7; 50 Calcula la mxima cantidad de programas de cdigo 7 que se ha vendido. SELECT MAX(cantidad) FROM distribuye,programa WHERE distribuye.codigo = programa.codigo AND programa.codigo = 7 ; 51 En cuntos establecimientos se vende el programa cuyo cdigo es 7? SELECT COUNT(comercios.cif) FROM comercios,distribuye WHERE distribuye.cif = comercios.cif AND distribuye.codigo = 7 ; 52 Calcular Internet. el nmero de registros que se han realizado por

SELECT COUNT(*) FROM registra WHERE medio= 'Internet'; 53 Obtener el nmero total de programas que se han vendido en Sevilla. SELECT SUM(distribuye.cantidad) FROM comercios,distribuye WHERE comercios.cif=distribuye.cif

AND comercios.ciudad="Sevilla" ; 54 Calcular el nmero total de programas que han desarrollado los fabricantes cuyo pas es Estados Unidos. SELECT COUNT(programa.codigo) FROM fabricantes, desarrolla, programas WHERE fabricantes.id_fab=desarrolla.id_fab AND desarrolla.codigo=programas.codigo AND fabricantes.pais='Estados Unidos'; 55 Visualiza el nombre de todos los clientes en mayscula. En el resultado de la consulta debe aparecer tambin la longitud de la cadena nombre. SELECT UPPER(nombre), LENGTH(nombre) FROM clientes; 56 Con una consulta concatena los campos nombre y versin de la tabla PROGRAMA. SELECT CONCAT(nombre," ",version) FROM programas;

También podría gustarte