조인은 평상시쓰는것이므로 연습해야한다
VIEW
뷰: 멀리볼수도, 작게볼수있는 보고싶은대로 테이블단위
실질저장모델은 아니지만 , 그모양자체를 하나의 다른이름으로 사용가능,코드를 단순화시킴
수정,삭제,업데이트불가, 조회(읽기)전용의 테이블형태이다. 1.복잡한쿼리간단하게, 2.사용자가들이 볼수없게 가림
CREATE VIEW NOTICE_VIEW21
AS
SELECT N.ID, N.TITLE, N.WRITER_ID, N.REGDATE, N.HIT, N.FILES, M.NAME WRITER_NAME, COUNT(C.ID) CMT_COUNT
FROM NOTICE N
LEFT JOIN MEMBER M ON N.WRITER_ID = M.NICNAME
LEFT JOIN "COMMENT" C ON N.ID = C.NOTICE_ID
GROUP BY ROWNUM, N.ID, N.TITLE, N.WRITER_ID, N.REGDATE, N.HIT, N.FILES, M.NAME;
SELECT * FROM NOTICE_VIEW21
WHERE ROWNUM BETWEEN 1 AND 10
ORDER BY REGDATE DESC;
SELF JOIN
자기가 자기자신을 조인
데이터가 서로 포함관게를 가지는 경우 : 담당,구성,연락
EX 게시글의 댓글이 댓글이참조하는경우
참조키가 다른테이블이아니라 자기것
SELECT M.*, B.NAME BOSS_NAME
FROM MEMBER M
LEFT JOIN MEMBER B ON B.NICNAME = M.BOSS_NICNAME;
SELECT M.*, B.NAME BOSS_NAME, B2.NAME B2_NAME
FROM MEMBER M
LEFT JOIN MEMBER B ON B.NICNAME = M.BOSS_NICNAME
LEFT JOIN MEMBER B2 ON B2.NICNAME = B.BOSS_NICNAME;
B2.NICNAME (부모)= B.BOSS_NICNAME;(자식)
자식이 부모를 참조하는 형식
부모가 자식을 참조할수없음
CROSS JOIN
실무에서 쓰일일이 적음
조인대신 서브쿼리사용
그동안 조인해서 그룹바이 집계
부모의 컬럼을 추가할땐 조인해서 컬럼추가했었다.
컬럼을 가져와야할 경우 컬럼추가시 조인하지않고도 가능하다
서브쿼리로 간단히 가능
'2021 Newlecture > Servlet & JSP' 카테고리의 다른 글
1정규화 위배 / 3정규화 위배 예시 (0) | 2021.05.17 |
---|---|
키의 종류 / 관계선/ 정규화 (0) | 2021.05.14 |
데이터베이스 모델링 2 (0) | 2021.05.13 |
데이터베이스 모델링 (0) | 2021.05.12 |
INNER JOIN / OUTER JOIN / 3개 테이블 조인 (0) | 2021.05.10 |
(JSP) 수정한내용 저장 / 등록페이지 / 삭제 (0) | 2021.05.07 |
(JSP) 상세페이지내 수정 / sendRedirect/ service.get(id)으로 기존데이터가져오기 (0) | 2021.05.06 |
(JSP) 페이지연결 , 상세내역 (0) | 2021.05.04 |