부트캠프(53일차)

성준혁·2023년 1월 11일
0
post-thumbnail

오늘은 부트캠프 53일차이다. 오전에 SQL 강의를 듣고 오후에는 JWT와 시큐리티 보안 관련해서 복습을 하였다. 저녁을 먹고 난 후에는 알고리즘 문제를 풀었다. 오늘 새로운 SQL 강의를 지급을 받았고 내일부터 꾸준히 들으면 좋을 것 같다. JWT와 보안을 이번주까지 복습을 해야 다음주부터 당장 프로젝트 시작이라서 도움이 될 것 같다.

오늘 배운 것

1. 내부 조인(Inner Join)

-각 회원은 구매를 여러번 할 수 있다.
-A는 회원테이블에는 1개, 구매테이블에는 여러 개가 있다.(일대다 관계)
-회원 테이블의 PK가 구매테이블에 FK로 들어가 있다.
-구매한 기록이 있는 회원들만 출력된다. 구매 테이블에 없는 전체 회원들까지 출력하고 싶으면 외부 조인을 사용해야 한다.

SELECT < 목록>
FROM < 번째 테이블>
	INNER JOIN < 번째 테이블> -- INNER JOIN은 'INNER' 생략가능
	ON <조인될 조건>
[WHERE 검색 조건]

-추가적으로 테이블 이름에 별칭을 붙일 수 있다.

SELECT buy.mem_id, member.mem_name, buy.prod_name, member.addr
	FROM buy
		JOIN member
		ON buy.mem_id = member.mem_id;
        
-- 테이블 이름에 별칭을 붙이면
SELECT B.mem_id, M.mem_name, B.prod_name, M.addr
	FROM buy B
		JOIN member M
		ON B.mem_id = M.mem_id;

2. 외부 조인(Outer Join)

-두 테이블을 조인할 때 필요한 내용이 한쪽 테이블에만 있어도 결과를 추출 할 수 있다.

SELECT < 목록>
FROM < 번째 테이블(LEFT 테이블)>
	<LEFT | RIGHT | FULL> OUTER JOIN < 번째 테이블(RIGHT 테이블)>
	ON <조일될 조건>
[WHERE 검색 조건];

3. 상호조인(Cross Join)

-한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능이다.
-상호 조인 결과의 전체 행 개수는 두 테이블의 각 행의 개수를 곱한 수만큼 된다.
-카티션 곱(CARTESIAN PRODUCT)라고도 한다.

SELECT< 목록>
FROM < 번째 테이블>
	CROSS JOIN < 번째 테이블>

4. 자체 조인(Self Join)

-자기 자신과 조인하므로 1개의 테이블을 사용한다. 별도의 문법이 있는 것은 아니고 1개로 조인하면 자체 조인이 된다.

SELECT < 목록>
FROM <테이블>
	INNER JOIN <테이블>
    ON <조인될 조건>
[WHERE 검색 조건]

0개의 댓글