| no | nm | dept |
|---|---|---|
| 11 | 마농 | 10 |
| 22 | 구니 | 10 |
| 33 | 다솜 | 10 |
| no | fam_no | fam_nm |
|---|---|---|
| 11 | 1 | 마누라 |
| 22 | 1 | 와이프 |
| 22 | 2 | 아들 |
| no | ym | sal |
|---|---|---|
| 11 | 200901 | 100 |
| 11 | 200902 | 100 |
| 11 | 200903 | 100 |
| 22 | 200901 | 200 |
| 22 | 200902 | 200 |
| 22 | 200903 | 200 |
| 33 | 200901 | 300 |
| 33 | 200902 | 300 |
| 33 | 200903 | 300 |
| no | nm | sal | fam |
|---|---|---|---|
| 11 | 마농 | 300 | 1 |
| 22 | 구니 | 600 | 2 |
| 33 | 다솜 | 900 | 0 |
SELECT e.no, e.nm, SUM(sal) sal, COUNT(f.no) fam
FROM emp e, fam f, gub g
WHERE e.no = f.no(+)
AND e.no = g.no(+)
AND e.dept = 10
AND g.ym(+) BETWEEN '200901' AND '200903'
GROUP BY e.no, e.nm
;
| no | nm | sal | fam |
|---|---|---|---|
| 11 | 마농 | 300 | 3 |
| 22 | 구니 | 1200 | 6 |
| 33 | 다솜 | 900 | 0 |
SELECT e.no, e.nm, g.sal, f.fam
FROM emp e
, (SELECT no, COUNT★ fam
FROM fam
GROUP BY no
) f
, (SELECT no, SUM(sal) sal
FROM gub
WHERE ym BETWEEN '200901' AND '200903'
GROUP BY no
) g
WHERE e.no = f.no(+)
AND e.no = g.no(+)
AND e.dept = 10
;
| no | nm | sal | fam |
|---|---|---|---|
| 11 | 마농 | 300 | 1 |
| 22 | 구니 | 600 | 2 |
| 33 | 다솜 | 900 |
SELECT e.no, e.nm
, (SELECT SUM(sal)
FROM gub
WHERE ym BETWEEN '200901' AND '200903'
AND no = e.no
) sal
, (SELECT COUNT★
FROM fam
WHERE no = e.no
) fam
FROM emp e
WHERE e.dept = 10
;
| no | nm | sal | fam |
|---|---|---|---|
| 11 | 마농 | 300 | 1 |
| 22 | 구니 | 600 | 2 |
| 33 | 다솜 | 900 | 0 |