tipos resueltos por numero empleados ejercicios ejemplos departamento consultas complejas sql database group-by having

resueltos - numero de empleados por departamento sql



solución de mitad de período alrededor de consulta en SQL (1)

1) Sí. El grupo por aparece en la sub-selección

( select w.essn from works_on w group by w.essn having count(*) >= 2 )

y solo es efectivo allí.

2) "como" crea un alias, en este caso "e" para "empleado". Esto le permite evitar la tediosidad de escribir empleados en todas partes. Algunas bases de datos SQL no requieren el "como", pero en general es una buena idea, ya que deja clara su intención.

3) "Tener" es como un "Dónde" que opera en cada miembro de un grupo por cláusula. https://en.wikipedia.org/wiki/Having_%28SQL%29

Esta es la base de datos:

EMPLOYEE (fmane, minit, lname, ssn, birthdate, address, sex, salary, superssn, dno) KEY: ssn DEPARTMENT (dname, dnumber, mgrssn, mgrstartdate) KEY: dnumber. PROJECT (pname, pnumber, plocation, dnum) KEY: pnumber. WORKS_ON (essn, pno, hours) KEY: (essn, pno) DEPENDENT (essn, dependent-name, sex, bdate, relationship) KEY: (essn, dependent-name)

La pregunta que se hace es ...

Indique el apellido y el SSN de los empleados solteros que trabajan en dos o más proyectos.

SELECT e.Lname, e.ssn FROM Employee AS e WHERE e.ssn IN ( SELECT w.essn FROM works_on w GROUP BY w.essn HAVING count(*) >= 2 ) AND e.ssn NOT IN ( SELECT essn FROM dependent WHERE relationship = ''Spouse'' );

Mi respuesta fue incorrecta porque no e.ssn NOT IN cláusula e.ssn NOT IN .

Mis preguntas son:

1) ¿Para qué se utiliza el group by ? estrictamente para obras solo?

2) En relación con FROM Employee AS e , ¿es AS un error tipográfico o un comando?

3) ¿Significa incluir? ¿Puede ser reemplazado por algún otro comando?