[0510] 자바 웹 개발 과정🌞

Let's TECH🧐·2021년 5월 10일
0

자바 웹 개발 과정

목록 보기
13/31
post-thumbnail

⭐Back-end

SQL

Inner Join


Inner Join은 두 테이블 간의 조인 조건을 만족하는 행을 반환할 때 사용한다.

-- 1. MEMBER의 NICNAME과 NOTICE의 WRITER_ID를 엮어서 두 테이블을 조인
SELECT * FROM 
MEMBER INNER JOIN NOTICE ON MEMBER.NICNAME = NOTICE.WRITER_ID; 

Outer Join

Outer Join은 조언 조건에서 동일한 값이 없는 행도 반환할 때 사용한다.

  1. Left Outer Join
    SQL 상 왼쪽에 명시하는 테이블(MEMBER)을 중심으로 Outer Join한다.
SELECT * FROM
MEMBER LEFT JOIN NOTICE ON MEMBER.NICNAME = NOTICE.WRITER_ID;
-- 조인된 레코드의 개수는? 6개
  1. Right Outer Join
    SQL 상 오른쪽에 명시하는 테이블(NOTICE)을 중심으로 Outer Join한다.
SELECT * FROM
MEMBER RIGHT JOIN NOTICE ON MEMBER.NICNAME = NOTICE.WRITER_ID;
-- 조인된 레코드의 개수는? 5개
  1. Full Outer Join
    두 테이블의 Outer를 모두 Outer Join한다.
SELECT * FROM
MEMBER LEFT JOIN NOTICE ON MEMBER.NICNAME = NOTICE.WRITER_ID;
-- 조인된 레코드의 개수는? 8개

테이블 3개 Join하기

NOTICE, MEMBER, COMMENT 테이블 조인하기

 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 테이블 조인

예제) NOTICE, MEMBER, 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;

⭐Front-end

JavaScript - ES6

Binary and Octal Literals

ES6로 오면서 2진수와 8진수를 모두 표현할 수 있게 되었다.

let

  1. 변수를 선언하지 않으면 변수를 사용할 수 없다.

  2. 변수 선언 시 자동적으로 window의 속성이 되지 않는다.

  3. 변수를 중복 선언하면 안된다.

  4. 괄호 블록을 사용하면 지역변수로 사용된다.

const


1. 값을 바꿀 수 없다.

JSON 객체 표현법


변수명이 키의 이름과 똑같다면 변수명 자체를 키로 사용할 수 있다.

🐥마무리

오늘 오전에는 다시 SQL로 돌아가 여러 가지 종류의 JOIN문에 대해 알아보았다. 처음에 조금 낯설었지만 수업 예제를 통해 반복연습하고 나니 훨씬 수월하게 이해되었다. 그리고 오후 시간에는 ES6 자바스크립트를 배웠다. 선생님께서 ES5를 먼저 알아보고 난 뒤 ES6를 배우는 식으로 진행을 해야 ES5에서 어떤 점들이 달라졌는지 알 수 있다고 말씀해주셨고, 나도 이런 과정으로 수업이 진행되는 게 좋다! ES6 자바스크립트를 배우며 let과 const 키워드에 대해 알아보는 시간을 가졌다.

이번 주 나의 목표는 수업 내용을 모두 꼼꼼히 잘 이해하는 것에서 나아가 프로젝트에서 내가 맡은 노하우 게시글 목록 상세보기, 필터링하기를 구현하는 것이다. 매일매일 꾸준히 연습하고 노력하자👍

profile
Minju's Tech Blog

0개의 댓글