
시작은 Node.js 교과서를 공부하면서부터 였다. 혼자 공부를 하다가 보니까 서버 쪽을 마주칠 일이 없다는 갈증을 해소하기 위해 공부를 시작했다. 그러다가 샛길로 또 빠져서 MySQL을 공부하게 되었다.
물론 집요하게 파들고 들어가지는 않았고 Yalco MySQL의 강의를 시청하면서 대략적인 문법과 작동 방식을 익혀 나갔다.
MySQL에는 JOIN이라는 문법이 있는데 단순히 이해하기로는 다른 테이블의 컬럼과 컬럼을 결합시키는 작동이라고 했다. 그런데도 영 머리로 그려지지 않았다. 일단 강의를 듣는 와중이었으므로 그 정의에 대해서는 제쳐두고 강의를 수강하였다.
이후 좀 더 심화된 과정을 듣는데 이때에도 JOIN이 낯설게 다가왔다. 그제서야 인터넷에 검색을 해보았고, 도식으로 정리된 JOIN에 관한 설명을 찾을 수 있었다.

분명 LEFT와 RIGHT는 문자열에 관련된 명령어로 배웠는데 JOIN과 더불어 사용되는 경우가 있었다.
아무래도 JOIN과 더불어 사용하면 다른 작동을 하는 것이 분명한데 어떤 의미에서 LEFT와 RIGHT로 명령어를 명명했는지 이해가 가지 않았다.
[MySQL] Join 깔끔한 이해와 사용법은 그와 관련하여 정리한 글이다. 세상에. 교집합, 차집합, 합집합 개념을 다시 만날 줄이야.
결국 LEFT는 FROM이 쓰인 table을 기준으로 작동하고 RIGHT는 JOIN의 table을 기준으로 하는 말 같다.
한편 TRUNCATE역시 두 가지의 기능을 하는 듯 보였다.
타동사 격식 [VN 주로 수동태로]
(아래나 위를 잘라서) 길이를 줄이다[짧게 하다]
-네이버 사전
TRUNCATE의 사전적 의미는 위와 같다. TRUNCATE는 MySQL뿐 만 아니라 종종 다른 언어나 라이브러리에서도 쓰이는 모습을 볼 수 있다. 사실 테이블과 관련한 네이밍은 왜 그렇게 했는지 잘 이해는 안된다.
테이블의 삭제와 관련해서는 DELETE라는 명령어도 존재하는데 둘의 차이는 선택적으로 삭제 할 수 있느냐의 여부인 것 같다. 자세한 설명은 아래 블로그의 첨부글로 대신하다.
https://kjk3071.tistory.com/entry/DB-MySQL-Truncate%EA%B3%BC-Delete
https://devjhs.tistory.com/87
https://pafy.tistory.com/31
https://yoo-hyeok.tistory.com/98