Так в основном это база данных: Рассмотрит отношение схему базы данных COMPANY приведенных нижеSQL путаница решения запросов, смущенная группа и имеющий пункт
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)
и вопрос:
Give фамилию и SSN тех менеджеров, которые работают над двумя или несколькими проектами, расположенными в Кливленде.
Коррекция решение выглядит так:
select Lname
from Employee e, Department d
where (e.ssn = d.mgrssn)
and ssn in (
select w.essn
from works_on w, Project p
where w.pno = p.pnumber
and p.plocation = 'Cleveland'
group by w.essn
having count(*) >= 2
)
Мой вопрос:
- Почему добавляется works_on?
- сотрудник e и отдел d, почему они оба нужны? Я думал, что мы находим сотрудника
- , наконец, самая запутанная часть - это группа по w.essn, у которой есть счет (*)> = 2, , если вместо
так как мы выясняем номер проекта, превышающий 2?
Если у вас есть время, можете ли вы поместить знаки по правильному решению, чтобы показать , какая часть принадлежит сотруднику и почему они нужны. Я очень ценю это.
Извините, слишком широко, нам нужно научить вас курсу db, чтобы покрыть все эти моменты. Вы должны спросить своего учителя. Пожалуйста, прочитайте [** Как спросить **] (http://stackoverflow.com/help/how-to-ask) –