2014-05-01 2 views
0

을 설정하여이 두 테이블 갖는SELECT 문은 대수

DEPARTMENT

DNAME 
----------- 
RESEARCH 
    IT 
SCIENCE 

DEPTLOC 내 질문은 보스턴에 하나있는 DNAME을 찾을 수 있습니다

DNAME  LOCATION 
---------------------- 
RESEARCH  BOSTON 
    IT   LONDON 
RESEARCH  DALLAS 
SCIENCE  BOSTON 

또는 LONDON (두 런던 모두)이 아닙니다. 그것은 작동하지만 난 내 질문에 명시된 바와 같이이 올바른지 생각하지 않는다

SELECT D.DNAME 
FROM DEPARTMENT D 
INNER JOIN DEPTLOC L ON L.DNAME = D.DNAME 
WHERE L.CITY='BOSTON' OR L.CITY='DALLAS' 
GROUP BY D.DNAME 
HAVING COUNT(1) = 1; 

:

나는 다음과 같은 쿼리를 사용하고

"Implementing set algebra SELECT statements" 

그래서 내가하기 위해 무엇을 변경해야합니다 올바른 진술을 사용하여 정확한 결과를 얻으시겠습니까? 내가 어디 추측 경우 UNION, INTERSECTDIFFERENCE (MINUS or EXCEPT) 같은 일련의 작업을 사용하여 솔루션을 제공하도록 요청

DNAME 
----------- 
    IT 
    SCIENCE 
+0

나를 이깁니다. 돌아가서 관계 데이터베이스의 맥락에서 "대수 설정"을 통해 그가 무엇을 의미하는지 교수님에게 물어보십시오. 행운을 빌어 요. –

+0

나는 당신이 의미하는 것을 얻을 수 없다. 어쩌면 내가 이해할 수없는 명확하게 – user3553846

답변

1

: 같은 출력해야한다. A가 보스턴에있는 부서이고 B가 런던에있는 부서 인 경우 (A - B) U (B - A)는 하나의 솔루션입니다.

1

집합 대수 설정은 집합 연산자를 사용하는 것을 의미합니다 : UNION, MINUS, INTERSECT.

+0

위의 내 예제를 가르쳐 줄 수 있습니까? 나는 단지 그것을 배우려고 노력한다. 감사합니다 – user3553846