0% encontró este documento útil (0 votos)
68 vistas2 páginas

Consultas SQL sobre Científicos y Proyectos

Este documento contiene varias consultas SQL para obtener información sobre científicos y los proyectos a los que están asignados desde varias tablas relacionadas. Incluye consultas para obtener el número de proyectos por científico, científicos por proyecto, horas totales por científico, científicos en más de dos proyectos, científicos sin proyectos, proyectos sin científicos asignados, y una función para contar el número total de proyectos.

Cargado por

juliana gonzales
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 TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
68 vistas2 páginas

Consultas SQL sobre Científicos y Proyectos

Este documento contiene varias consultas SQL para obtener información sobre científicos y los proyectos a los que están asignados desde varias tablas relacionadas. Incluye consultas para obtener el número de proyectos por científico, científicos por proyecto, horas totales por científico, científicos en más de dos proyectos, científicos sin proyectos, proyectos sin científicos asignados, y una función para contar el número total de proyectos.

Cargado por

juliana gonzales
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 TXT, PDF, TXT o lee en línea desde Scribd

#b.

Obtener el numero de proyectos a los cuales esta asignado cada científico,


mostrar el nombre del clentifico, el dni y la cantidad de proyectos asignados

SELECT COUNT([Link]) CANTIDAD,


[Link] DNI,
[Link] NOMBRE,
[Link] PROYECTO
FROM
asignado_a A
INNER JOIN cientificos C INNER JOIN proyecto P ON
[Link] = [Link] AND [Link] = [Link]
GROUP BY
[Link];

#Obtener el numero de cientificos asociados a cada proyecto, mostrar el


identificador del proyecto y el nombre del proyecto.

SELECT COUNT([Link]) CANTIDAD_CIENTIFICOS,[Link] ID_PROYECTO, [Link] PROYECTO FROM


cientificos C
INNER JOIN asignado_a A ON [Link] = [Link]
INNER JOIN proyecto P ON [Link] = [Link]
GROUP BY ([Link]);

#d. Obtener el numero de horas dedicadas de cada científico.


SELECT [Link] DNI, [Link] Nombre, SUM([Link]) Total_Horas
FROM asignado_a A
INNER JOIN cientificos C
INNER JOIN proyecto P ON [Link] = [Link]
AND [Link] = [Link]
GROUP BY [Link];

#e. Listar los nombres de los científicos que han participado en mas de dos
proyectos.

SELECT COUNT([Link]) PROYECTOS, [Link] NOMBRE FROM cientificos C


INNER JOIN asignado_a A
ON [Link] = [Link]
GROUP BY ([Link])
HAVING (COUNT([Link]) > 2);

#f. Listar los científicos que no han participado en ningún proyecto

SELECT [Link], [Link] NOMBRE FROM asignado_a A


RIGHT JOIN cientificos C
ON [Link] = [Link]
WHERE [Link] is null;

#g. Obtener los proyectos que no han sido trabajado por ningún científico

SELECT P.* FROM proyecto P


LEFT JOIN asignado_a A
ON [Link] = [Link]
WHERE [Link] is null;

#h. Crear una función que retorne la cantidad de proyectos que se tienen dentro
del proceso de investigacion
//More
DELIMITER $$
CREATE DEFINER=root@localhost FUNCTION np() RETURNS int(11)

BEGIN
DECLARE var int default 0;
SELECT count(DISTINCT([Link]))
INTO var
FROM asignado_a A;
RETURN var;
END$$
DELIMITER ;

También podría gustarte