서로 연관된 두 테이블을 합치는 JOIN에 대해서 공부해보도록 하겠습니다.
정확히 말하자면, 두 테이블을 정말로 합치는 것은 아니고 일시적으로 하나의 테이블로 합친 것처럼 보이게 하는 것입니다.
지난 포스트
저 혼자서 공부한 내용을 대충 정리하려고 혼자서 쓰는 글입니다.
모든 내용은 다 생활코딩 강의를 기반으로 하고 있으니, 어쩌다가 검색으로 들어오신 분들도 제 글들을 보기보다는 유튜브에서 생활코딩의 강의들을 보시는 것을 권장드립니다.
수업의 정상
이제부터 공부할 내용들은 처음 배우면 조금 어렵고 복잡할 수 있는 내용입니다.
저도 학원에서 오라클 데이터베이스를 이용해서 SQL을 처음 배웠을 때에, 이제부터 공부할 JOIN부터 거의 손을 놓기 시작했던 기억이 있습니다.
이전까지의 CRUD를 배운 것만으로도 우리는 많은 기능을 구현할 수 있습니다.
JOIN이 당장 본인에게 필요한 상황이 아니라면 CRUD만을 이용해 php와 연동해서 여러 가지 기능을 구현할 수 있습니다.
일단 여기를 건너뛰고 php와 MariaDB를 연동해서 CRUD를 구현하는 것을 배울지, 아니면 JOIN을 공부하고 넘어가 볼지는 본인의 선택입니다. (너무 겁먹지는 마세요.)
관계형 데이터베이스의 필요성
관계형 데이터베이스의 필요성, JOIN의 필요성을 설명하는 영상입니다.
중복된 값이 자주 생기는 컬럼을 따로 떼어내서 별도의 테이블을 만들어서 중복은 줄이면서,
출력할 때에는 두 테이블을 합쳐서 하나의 테이블처럼 출력할 수 있는 것이 JOIN입니다.
테이블 분리하기
영상의 제목은 '테이블 분리하기'이지만, 하나의 테이블을 두 개로 분리시켜주는 SQL문이 있는 것은 아니고,
JOIN의 실습을 위해서 새로운 두 개의 테이블을 만드는 영상입니다.
다음 영상에서 시작될 실습을 위해 두개의 테이블을 만들어둡시다.
JOIN
두 테이블 JOIN (합치기)
SELECT * FROM 테이블명 LEFT JOIN 조인할 테이블명 ON 테이블명.컬럼명=조인할 테이블명.조인할 컬럼명;
성공적으로 JOIN이 되었지만 불필요한 컬럼들이 보입니다.
불필요한 컬럼들은 제외하고 JOIN
SELECT 컬럼1,컬럼2 FROM 테이블명 LEFT JOIN 조인할 테이블명 ON 테이블명.컬럼명=조인할 테이블명.조인할 컬럼명;
가져올 컬럼들의 이름만 SELECT와 FROM 사이에 계속 추가를 해줍니다.
author_id 컬럼과 author 테이블의 id 컬럼을 제외시켰습니다.
topic 테이블의 id 컬럼을 가져올 때에는 author 테이블에도 id라는 똑같은 이름의 컬럼이 있기 때문에 topic.id라고 (topic 테이블의 id를 가져올 거라고) 확실하게 지정을 해주면 됩니다.
이 글이 도움이 됐다면 하단의 ♡ 공감 버튼을 꾹 눌러서
빨간 하트♥로 만들어주세요.
지인에게 보여주고 싶은 글이었다면
공감 버튼 옆을 클릭해서 SNS에 공유해주세요.
댓글은 블로그 운영에 큰 힘이 됩니다.
'그 외 프로그래밍 언어 > SQL' 카테고리의 다른 글
MariaDB, 생활코딩의 MySQL 수업 마지막 (0) | 2022.08.17 |
---|---|
MariaDB, 컬럼의 이름을 일시적으로 바꿔서 출력하는 SQL문 (feat. AS) (0) | 2022.08.16 |
MariaDB, CRUD 데이터 삭제하기 (feat. DELETE) (0) | 2022.08.15 |
MariaDB, CRUD 데이터 수정하기 (feat. UPDATE) (0) | 2022.08.15 |
MariaDB, CRUD 데이터 읽어오기 (feat. SELECT) (0) | 2022.08.14 |
댓글