1. TALLER SQL
Julián Andrés Gálvez
UNIDAD CENTRAL DEL VALLE DEL CAUCA (UCEVA)
INGENIERIA DE SISTEMAS
V SEMESTRE
TULUA – VALLE
2009
2. TALLER SQL
Julián Andrés Gálvez
Presentado a:
Ing. EDGAR SANDOVAL
UNIDAD CENTRAL DEL VALLE DEL CAUCA (UCEVA)
FACULTAD DE INGENIERIAS
INGENIERIA DE SISTEMAS
TULUA VALLE
2009
4. quot;CODIGOINVESTIGADORquot; CHAR(12),
quot;FECHAINIquot; DATE,
quot;FECHAFINquot; DATE,
quot;TIPOPARTICIPACIONquot; CHAR(20),
CONSTRAINT quot;ASIGNADO_A_FKquot; FOREIGN KEY (quot;CODIGOPROYECTOquot;)
REFERENCES quot;PROYECTOquot; (quot;CODIGOPROYECTOquot;) ENABLE,
CONSTRAINT quot;ASIGNADO_A_FK2quot; FOREIGN KEY (quot;CODIGOINVESTIGADORquot;)
REFERENCES quot;INVESTIGADORquot; (quot;CODIGOINVESTIGADORquot;) ENABLE
)
/
INGRESO DE DATOS POR SQL A LAS TABLAS ANTERIORES
insert into investigador(codigoinvestigador,nombre,ciudad,telefono) values ('01','MARY LUZ OJEDA','BUGA','3353401');
insert into investigador(codigoinvestigador,nombre,ciudad,telefono) values ('02','JOSE GABRIEL
PEREZ','BUGA','2253401');
insert into investigador(codigoinvestigador,nombre,ciudad,telefono) values ('03','JULIAN ANDRES
GALVEZ','TULUA','2257803');
insert into investigador(codigoinvestigador,nombre,ciudad,telefono) values ('04','IVAN ANDRES
SUAREZ','TULUA','2253698');
insert into investigador(codigoinvestigador,nombre,ciudad,telefono) values ('05','LUZ MARIELLA
CARDENAS','SEVILLA','2252231');
insert into investigador(codigoinvestigador,nombre,ciudad,telefono) values ('06','GONZALO
GALVEZ','TULUA','2252423');
insert into investigador(codigoinvestigador,nombre,ciudad,telefono) values ('07','NORA CARDENAS','CALI','6653401');
insert into investigador(codigoinvestigador,nombre,ciudad,telefono) values ('08','EDGAR GALVEZ','CALI','6663401');
insert into investigador(codigoinvestigador,nombre,ciudad,telefono) values ('09','ADRIAN LASSO','BUGA','3353401');
insert into investigador(codigoinvestigador,nombre,ciudad,telefono) values ('10','JHONATAN GIL','TULUA','2323401');
insert into plan(codigoplan,nombreplan,entidadplan) values ('01','NEPTUNO','GEIPRO');
insert into plan(codigoplan,nombreplan,entidadplan) values ('02','JUPITER','CDTU');
insert into plan(codigoplan,nombreplan,entidadplan) values ('03','MARTE','GEIPRO');
insert into plan(codigoplan,nombreplan,entidadplan) values ('04','PLUTON','CDTU');
insert into plan(codigoplan,nombreplan,entidadplan) values ('05','SATURNO','GEIPRO');
insert into plan(codigoplan,nombreplan,entidadplan) values ('06','VENUS','CDTU');
insert into plan(codigoplan,nombreplan,entidadplan) values ('07','MERCURIO','GEIPRO');
insert into plan(codigoplan,nombreplan,entidadplan) values ('08','TIERRA','CDTU');
5. insert into plan(codigoplan,nombreplan,entidadplan) values ('09','LUNA','GEIPRO');
insert into plan(codigoplan,nombreplan,entidadplan) values ('10','SOL','CDTU');
insert into proyecto(codigoproyecto,codigoplan,nombreproyecto,fechaini,fechafin,presuproyecto) values
('01','01','ROBOTICA','12/08/2008','12/08/2009',5000000);
insert into proyecto(codigoproyecto,codigoplan,nombreproyecto,fechaini,fechafin,presuproyecto) values
('02','02','REALIDAD VIRTUAL','12/09/2008','12/09/2009',1000000);
insert into proyecto(codigoproyecto,codigoplan,nombreproyecto,fechaini,fechafin,presuproyecto) values
('03','03','ROBOTICA','12/10/2008','12/10/2009',2000000);
insert into proyecto(codigoproyecto,codigoplan,nombreproyecto,fechaini,fechafin,presuproyecto) values
('04','04','REALIDAD VIRTUAL','12/11/2008','12/11/2009',3000000);
insert into proyecto(codigoproyecto,codigoplan,nombreproyecto,fechaini,fechafin,presuproyecto) values
('05','05','ROBOTICA','12/12/2008','12/12/2009',5000000);
insert into proyecto(codigoproyecto,codigoplan,nombreproyecto,fechaini,fechafin,presuproyecto) values
('06','06','REALIDAD VIRTUAL','12/12/2008','12/12/2009',6000000);
insert into proyecto(codigoproyecto,codigoplan,nombreproyecto,fechaini,fechafin,presuproyecto) values
('07','07','REALIDAD AUMENTADA','12/12/2008','12/12/2009',7000000);
insert into proyecto(codigoproyecto,codigoplan,nombreproyecto,fechaini,fechafin,presuproyecto)
values('08','08','ROBOTICA','12/12/2008','12/12/2009',5000000);
insert into proyecto(codigoproyecto,codigoplan,nombreproyecto,fechaini,fechafin,presuproyecto) values
('09','09','REALIDAD AUMENTADA','12/12/2008','12/12/2009',8000000);
insert into proyecto(codigoproyecto,codigoplan,nombreproyecto,fechaini,fechafin,presuproyecto) values
('10','10','REALIDAD AUMENTADA','12/12/2008','12/12/2009',9000000);
insert into asignado_a(codigoproyecto,codigoinvestigador,fechaini,fechafin,tipoparticipacion) values
('01','01','12/08/2008','12/08/2009','BECARIO');
insert into asignado_a(codigoproyecto,codigoinvestigador,fechaini,fechafin,tipoparticipacion) values
('02','02','12/08/2008','12/08/2009','IP');
insert into asignado_a(codigoproyecto,codigoinvestigador,fechaini,fechafin,tipoparticipacion) values
('03','03','12/08/2008','12/08/2009','ITC');
insert into asignado_a(codigoproyecto,codigoinvestigador,fechaini,fechafin,tipoparticipacion) values
('04','04','12/08/2008','12/08/2009','ITP');
insert into asignado_a(codigoproyecto,codigoinvestigador,fechaini,fechafin,tipoparticipacion) values
('05','05','12/08/2008','12/08/2009','BECARIO');
insert into asignado_a(codigoproyecto,codigoinvestigador,fechaini,fechafin,tipoparticipacion) values
('06','06','12/08/2008','12/08/2009','IP');
insert into asignado_a(codigoproyecto,codigoinvestigador,fechaini,fechafin,tipoparticipacion) values
('07','07','12/08/2008','12/08/2009','ITC');
insert into asignado_a(codigoproyecto,codigoinvestigador,fechaini,fechafin,tipoparticipacion) values
('08','08','12/08/2008','12/08/2009','ITP');
insert into asignado_a(codigoproyecto,codigoinvestigador,fechaini,fechafin,tipoparticipacion) values
('09','09','12/08/2008','12/08/2009','BECARIO');
insert into asignado_a(codigoproyecto,codigoinvestigador,fechaini,fechafin,tipoparticipacion) values
('10','10','12/08/2008','12/08/2009','IP');
6. GROUP BY
Utilizada para separar los registros seleccionados en grupos específicos.
EJEMPLOS DE GROUP BY:
SELECT nombre,ciudad
FROM investigador
GROUP BY nombre,ciudad;
SELECT nombre,telefono
FROM investigador
GROUP BY nombre,telefono;
SELECT codigoInvestigador,nombre,ciudad
FROM investigador
GROUP BY codigoInvestigador,nombre,ciudad;
SELECT nombreProyecto,presuproyecto
FROM proyecto
GROUP BY nombreProyecto,presuproyecto;
SELECT nombreProyecto,fechaini
FROM proyecto
GROUP BY nombreProyecto,fechaini;
SELECT nombreProyecto,fechaini,fechafin
FROM proyecto
GROUP BY nombreProyecto,fechaini,fechafin;
HAVING
Utilizada para expresar la condición que debe satisfacer cada grupo
Ejemplos:
SELECT nombre,ciudad
FROM investigador
GROUP BY nombre,ciudad
HAVING nombre = 'JULIAN ANDRES GALVEZ';
SELECT codigoinvestigador,nombre,ciudad,telefono
FROM investigador
GROUP BY codigoinvestigador,nombre,ciudad,telefono
HAVING telefono = '2252423';
SELECT codigoplan,nombreplan,entidadplan
FROM plan
GROUP BY codigoplan,nombreplan,entidadplan
HAVING entidadplan = 'GEIPRO';
7. SELECT
codigoproyecto,codigoplan,nombreproyecto,fechaini,fechafin,presuproyec
to
FROM proyecto
GROUP BY
codigoproyecto,codigoplan,nombreproyecto,fechaini,fechafin,presuproyec
to
HAVING codigoproyecto = '01';
SELECT *
FROM investigador
HAVING nombre = 'JULIAN ANDRES GALVEZ';
ORDER BY
Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico
(acendente o descendente).
Ejemplos:
SELECT nombre,codigoinvestigador
FROM investigador
ORDER BY codigoinvestigador DESC;
SELECT nombre,telefono
FROM investigador
ORDER BY telefono ASC;
SELECT nombre,codigoinvestigador
FROM investigador
ORDER BY codigoinvestigador ASC;
SELECT codigoplan,nombreplan,entidadplan
FROM plan
ORDER BY codigoplan DESC;
SELECT codigoplan,nombreplan,entidadplan
FROM plan
ORDER BY codigoplan DESC;
OPERADORES LÓGICOS
AND
Es el quot;yquot; lógico. Evalua dos condiciones y devuelve un valor de verdad sólo si ambas son
ciertas.
ejemplo:
SELECT nombre,ciudad
FROM investigador
WHERE nombre='JULIAN ANDRES GALVEZ' AND ciudad='TULUA';
8. OR
Es el quot;oquot; lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es
cierta.
Ejemplo:
SELECT fechaini,fechafin
FROM proyecto
WHERE fechaini='12/08/2008' OR fechafin='12/10/2009';
NOT
Negación lógica. Devuelve el valor contrario de la expresión.
Ejemplo:
SELECT nombreplan,entidadplan
FROM plan
WHERE NOT entidadplan='CDTU' ;
Operadores de Comparación
< Menor que
> Mayor que
<> Distinto de
<= Menor ó Igual que
>= Mayor ó Igual que
= Igual que
BETWEEN
Utilizado para especificar un intervalo de valores.
SELECT *
FROM proyecto
WHERE codigoproyecto BETWEEN 2 AND 5;
9. LIKE
Utilizado en la comparación de un modelo.
Ejemplo:
SELECT nombre
FROM investigador
WHERE nombre LIKE 'J%';