Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SISTEMAS OPERATIVOS
301402A_360
TUTOR
DILSA ENITH TRIANA
INGENIERIA DE SISTEMAS
GIRARDOT
2017
Paso 1: Vaya al entorno de Informacin, en el foro de novedades, descargue el
mdulo de Bases de datos bsicos y haga la lectura de toda la unidad 3.
Aqu vale la pena hacer la misma aclaracin que hicimos con UPDATE, y
es que la clusula WHERE es opcional. De tal forma, que si no se coloca,
entonces BORRA TODOS LOS DATOS DE LA TABLA, pero no la
estructura.
4. Consultas de datos
Para mirar toda la potencialidad de la sentencia SELECT, hemos organizado las consultas
de menor a mayor grado de dificultad, por cuestiones pedaggicas. Comenzaremos con
consultas sobre una sola tabla hasta finalizar con subconsultas, donde intervienen ms de
una tabla. Miremos la sentencia general
SELECT Campo1[,Campo 2, R..]
FROM Tabla 1[,Tabla 2, RR]
WHERE Condicin 1 [AND Condicin 2][OR Condicin 2][RR.]
ORDER BY Campo 1 [,Campo 2, R.]
GROUP BY Campo 1 [,Campo 2, R.]
HAVING Condicin de Grupo [AND Condicin 2][OR Condicin 2][RR.]
1. Consultas Simples
Consulta de un determinado campo. Consultar el nombre del proveedor con
su respectiva ciudad.
SELECT PROVEEDORE,CIUDAD
FROM PROVEEDORES;
Consultas de todos los campos. Consultar todos los datos
de las partes.
SELECT *
FROM PARTES;
2. Consultas Avanzadas.
SELECT *
FROM PROVEEDORES
WHERE PROVEEDOR LIKE A%
Consultas avanzadas (comenzadas por A)
(Comenzadas por I)
SELECT *
FROM PROVEEDORES
WHERE PROVEEDOR LIKE _A% ;
a. Consultar los proveedores cuya ltima letra sea igual a E.
SELECT *
FROM PROVEEDORES
WHERE PROVEEDOR LIKE %E ;
(terminadas por E)
a. Consultar los proveedores que tengan en el nombre la letra S.
SELECT *
FROM PROVEEDORES
WHERE PROVEEDOR LIKE %S%
(contenga la S)
a. Subconsultas. Consultar los proveedores que no han suministrado
partes.
SELECT *
FROM PROVEEDORES
WHERE VNRO NOT IN
(SELECT VNRO
FROM SUMINISTROS) ;
Subconsultas
SELECT *
FROM PROVEEDORES
WHERE NOT EXISTS
(SELECT VNRO
FROM SUMINISTROS
WHERE SUMINISTROS.VNRO=PROVEEDORES.VNRO)
a.
1. Otras Operaciones
Crear tablas temporales con INSERT INTO. Crear una tabla temporal
llamada TEMP_PROV, que contenga el nombre del proveedor, la
ciudad y la cantidad total suministrada por partes.
Otras operaciones
CREACION DE TABLA
a. Crear una vista con CREATE VIEW. Crear una vista con todas las
partes y su respectivo numero total de proyectos que han suministrado
y cantidad total suministrada.
SELECT MAX(TOT_CANT)
FROM TEMP_PROV;
SELECT PROVEEDOR,PARTE,PROYECTO
FROM PROVEEDORES,PARTES,PROYECTOS,SUMINISTROS
WHERE PROVEEDORES.VNRO=SUMINISTROS.VNRO AND
PARTES.PNRO=SUMINISTROS.PNRO AND
PROYECTOR.YNRO=SUMINISTROS.YNRO AND (PROYECTO=MONITOR OR
PROYECTO=CONSOLA);
SELECT PRIMERA.VNRO,SEGUNDA.VNRO
FROM PROVEEDORES PRIMERA,PROVEEDORES SEGUNDA
WHERE PRIMERA.VNRO<SEGUNDA.VNRO AND
PRIMERA.CIUDAD=SEGUNDA.CIUDAD;
Nota: Obsrvese que el JOIN, es decir, la IGUALACIN, se esta realizando por el campo
de CIUDAD y no por el campo llave VNRO. Adems, se utilizan alias en el nombre de las
tablas, con el fin de poder combinar la tabla consigo misma.
PRIMARY KEY (PNRO));
1.B
3. Consultas con Funciones Agregadas.
SELECT COUNT(VNRO)
FROM PROVEEDORES
WHERE CIUDAD=LONDRES ;
2.B
a. Consultas con agrupacin. Obtener el nmero total de proyectos por
proveedor
SELECT VNRO,COUNT(YNRO)
FROM SUMINISTROS
GROUP BY VNRO;
2.C
SELECT PROVEEDOR,COUNT(YNRO)
FROM PROVEEDORES,SUMINISTROS
WHERE PROVEEDORES.VNRO=SUMINISTROS.VNRO
GROUP BY PROVEEDOR;
2.D
SELECT PROVEEDOR,SUM(CANT)
FROM PROVEEDORES,SUMINISTROS
WHERE PROVEEDORES.VNRO=SUMINISTROS.VNRO
GROUP BY PROVEEDOR
HAVING SUM(CANT)>800;
a. Consultas con condicin y agrupamiento varios. Consultar el nombre del
proveedor, y el nombre de las partes, con su respectiva cantidad suministrada.
Solo los proveedores de la ciudad de LONDRES Y PARIS, y que hayan
suministrado mas de 500.
SELECT PROVEEDOR,PARTE,SUM(CANT)
FROM PROVEEDORES,PARTES,SUMINISTROS
WHERE PROVEEDORES.VNRO=SUMINISTROS.VNRO AND
PARTES.PNRO=SUMINISTROS.PNRO AND (PROVEEDORES.CIUDAD=LONDRES
OR PROVEEDORES.CIUDAD=PARIS)
GROUP BY PROVEEDOR,PARTE
HAVING SUM(CANT)>500;
2.E