Inner Join은 두 테이블 간의 조인 조건을 만족하는 행을 반환할 때 사용한다.
-- 1. MEMBER의 NICNAME과 NOTICE의 WRITER_ID를 엮어서 두 테이블을 조인
SELECT * FROM
MEMBER INNER JOIN NOTICE ON MEMBER.NICNAME = NOTICE.WRITER_ID;
Outer Join은 조언 조건에서 동일한 값이 없는 행도 반환할 때 사용한다.
SELECT * FROM
MEMBER LEFT JOIN NOTICE ON MEMBER.NICNAME = NOTICE.WRITER_ID;
-- 조인된 레코드의 개수는? 6개
SELECT * FROM
MEMBER RIGHT JOIN NOTICE ON MEMBER.NICNAME = NOTICE.WRITER_ID;
-- 조인된 레코드의 개수는? 5개
SELECT * FROM
MEMBER LEFT JOIN NOTICE ON MEMBER.NICNAME = NOTICE.WRITER_ID;
-- 조인된 레코드의 개수는? 8개
NOTICE N
LEFT JOIN MEMBER M ON N.WRITER_ID = M.NICNAME -- NOTICE, MEMBER 테이블 조인
LEFT JOIN "COMMENT" C ON N.ID = C.NOTICE_ID -- NOTICE, COMMENT 테이블 조인
SELECT N.ID, N.TITLE, N.WRITER_ID, 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 N.ID, N.TITLE, N.WRITER_ID, M.NAME;
ES6로 오면서 2진수와 8진수를 모두 표현할 수 있게 되었다.
변수를 선언하지 않으면 변수를 사용할 수 없다.
변수 선언 시 자동적으로 window의 속성이 되지 않는다.
변수를 중복 선언하면 안된다.
괄호 블록을 사용하면 지역변수로 사용된다.
1. 값을 바꿀 수 없다.
변수명이 키의 이름과 똑같다면 변수명 자체를 키로 사용할 수 있다.
오늘 오전에는 다시 SQL로 돌아가 여러 가지 종류의 JOIN문에 대해 알아보았다. 처음에 조금 낯설었지만 수업 예제를 통해 반복연습하고 나니 훨씬 수월하게 이해되었다. 그리고 오후 시간에는 ES6 자바스크립트를 배웠다. 선생님께서 ES5를 먼저 알아보고 난 뒤 ES6를 배우는 식으로 진행을 해야 ES5에서 어떤 점들이 달라졌는지 알 수 있다고 말씀해주셨고, 나도 이런 과정으로 수업이 진행되는 게 좋다! ES6 자바스크립트를 배우며 let과 const 키워드에 대해 알아보는 시간을 가졌다.
이번 주 나의 목표는 수업 내용을 모두 꼼꼼히 잘 이해하는 것에서 나아가 프로젝트에서 내가 맡은 노하우 게시글 목록 상세보기, 필터링하기를 구현하는 것이다. 매일매일 꾸준히 연습하고 노력하자👍