1. 다음 중 아래 테이블들을 대상으로 sql 문장을 수행한 결과로 가장 적절한 것은?
os
osid(pk) | os명 |
100 | android |
200 | ios |
300 | bada |
단말기
단말기id(pk) | 단말기명 | osid(fk) |
1000 | a1000 | 100 |
2000 | b2000 | 100 |
3000 | c3000 | 200 |
4000 | d3000 | 300 |
고객
고객번호(pk) | 고객명 | 단말기id(fk) |
11000 | 홍길동 | 1000 |
12000 | 강감찬 | null |
13000 | 이순신 | null |
14000 | 안중근 | 3000 |
15000 | 고길동 | 4000 |
16000 | 이대로 | 4000 |
select
a.고객번호,
a.고객명,
b.단말기id,
b.단말기명,
c.osid,
c.os명
from 고객 a left outer join 단말기 b
on (a.고객번호 in(11000, 12000) and a.단말기id = b.단말기id) left outer join os c
on (b.osid = c.osid)
order by a.고객번호;
고객번호 | 고객명 | 단말기id | 단말기명 | osid | os명 |
11000 | 홍길동 | 1000 | a1000 | 100 | android |
12000 | 강감찬 | null | null | null | null |
13000 | 이순신 | null | null | null | null |
14000 | 안중근 | null | null | null | null |
15000 | 고길동 | null | null | null | null |
16000 | 이대로 | null | null | null | null |
2. 아래의 emp 테이블과 dept 테이블에서 밑줄 친 속성은 주키이며 emp c는 dept와 연결된 외래키이다. emp 테이블과 dept 테이블을 left, full, right 외부조인(outer join)하면 생성되는 결과 건수는?
emp 테이블
A | B | C |
1 | b | w |
3 | d | w |
5 | y | y |
dept테이블
C | D | E |
w | 1 | 10 |
z | 4 | 11 |
v | 2 | 22 |
1) left outer join
A | B | C | d.C | d.D | d.E |
1 | b | w | w | 1 | 10 |
3 | d | w | w | 1 | 10 |
5 | y | y | null | null | null |
2) right outer join
A | B | C | C | D | E |
1 | b | w | w | 1 | 10 |
3 | d | w | w | 1 | 10 |
null | null | null | z | 4 | 11 |
null | null | null | v | 2 | 22 |
3) full outer join
A | B | C | C | D | E |
1 | b | w | w | 1 | 10 |
3 | d | w | w | 1 | 10 |
null | null | null | z | 4 | 11 |
null | null | null | v | 2 | 22 |
5 | y | y | null | null | null |
3. 신규 부서의 경우 일시적으로 사원이 없는 경우도 있다고 가정하고 dept 와 emp 를 조인하되
사원이 없는 부서 정보도 같이 출력하도록 할 때, 아래 sql문장의 ㄱ 안에 들어갈 내용을 기술하시오.
select e.name, d.deptno, d.dname
from dept d left outer join emp e
on d.deptno = e.deptno;
4. 다음 중 아래와 같은 데이터 상황에서 sql의 수행 결과로 가장 적절한 것은?
tab1
C1 | C2 |
a | 1 |
b | 2 |
c | 3 |
d | 4 |
e | 5 |
tab2
C1 | C2 |
b | 2 |
c | 3 |
d | 4 |
select *
from tab1 a left outer join tab2 b
on (a.c1 = b.c1 and b.c2 between 1 and 3)
C1 | C2 | C1 | C2 |
a | 1 | null | null |
b | 2 | b | 2 |
c | 3 | c | 3 |
d | 4 | null | null |
e | 5 | null | null |
반응형
'Database > SQLD' 카테고리의 다른 글
계층형 쿼리 (0) | 2023.06.01 |
---|---|
SQLD 문제 풀이 12 (0) | 2023.06.01 |
SQLD 문제 풀이 10 (0) | 2023.05.30 |
SQLD 문제 풀이 9 (2) | 2023.05.22 |
SQLD 문제 풀이 8 (0) | 2023.05.22 |
댓글