3주차가 시작되었다. 아침에 산책을 나갔더니 벌써 겨울이 온 느낌이다. 한파주의보까지 떨어져 다시 들어왔다. 계절의 변화를 느끼며 캠프도 3주차에 접어들었다.
오늘은 지난주에 이어 JOIN 구문을 더 깊이 있게 학습했다. 지난주말에 조금 공부한 것이 도움이 되었는지 이번 강의는 생각보다 이해가 잘 됐다.
LEFT JOIN은 JOIN 중에서 가장 많이 사용되는 방식이다. 꼭 마스터해야 한다.
LEFT JOIN의 핵심 원리를 정리해보면 다음과 같다.
- 'LEFT를 기준으로 위쪽에 작성하는 테이블' = 'LEFT에 위치해 있는 테이블' = 'LEFT JOIN에서 기준이 되는 테이블'
기준이 되는 테이블은 조인 조건을 만족해도, 만족하지 못해도 모두 출력된다. 이것이 LEFT JOIN의 가장 중요한 특징이다.
- 'LEFT를 기준으로 아래쪽에 작성하는 테이블' = 'RIGHT에 위치해 있는 테이블' = 'LEFT JOIN에서 조건에 따라 출력되는 테이블'
RIGHT에 위치한 테이블은 조인 조건을 만족하는 경우에만 출력되며, 만족하지 못할 경우 NULL 값으로 출력된다.
LEFT JOIN의 기본 구조....
SELECT *
FROM TABLE_A
LEFT JOIN TABLE_B
ON TABLE_A.공통컬럼 = TABLE_B.공통컬럼;
LEFT JOIN이 가장 많이 사용되는 이유는 "왼쪽 테이블의 모든 데이터를 보존하면서, 오른쪽 테이블의 관련 정보를 추가하고 싶을 때"라는 실무의 편의성이 고려되어서 인거 같다.
RIGHT JOIN은 LEFT JOIN의 반대 개념이다. 오른쪽 테이블을 기준으로 모든 행을 표시하고, 왼쪽 테이블에서 일치하지 않으면 NULL을 표시한다.
FULL OUTER JOIN은 LEFT JOIN과 RIGHT JOIN을 합친 개념으로, 양쪽 테이블의 모든 데이터를 표시한다. 하지만 현업에서는 거의 사용하지 않는다고 한다. (비용이...)
오늘부터 Python 라이브 강의가 있는 날이다. SQL 학습과 병행하면서 프로그래밍 언어 학습도 본격화되는 날이기도 한다.
오늘 배운 내용은 다음과 같다.
Python의 연산자는 SQL의 연산자와 유사하면서도 다른 부분들이 있다. 산술 연산자(+, -, *, /), 비교 연산자(==, !=, >, <), 논리 연산자(and, or, not) 등을 학습했다.
그리고 사용자로부터 데이터를 입력받는 input() 함수를 배웠다. 프로그래밍에서 상호작용을 하기 위한 기본 함수인거 같다.
Input()함수 사용법
name = input("이름을 입력하세요: ")
print(f"안녕하세요, {name}님!")
Python 학습을 하면서 느낀 점은 "어렵지는 않으나 헷갈린다"는 것이다. SQL과 Python을 동시에 배우다 보니 각 언어의 문법과 논리가 섞이는 경험을 하고 있다. 예를 들어 SQL의 WHERE 절과 Python의 if 문이 같은 역할을 하지만 문법이 다르다는 점이 초반에는 혼동을 일으킨다.
하지만 시간이 지나면서 각 언어의 특성을 명확히 구분하게 될 것 같다.(꼭 그렇게 되어야 한다...)
오늘 하루 대부분을 SQL 문제풀이에 사용했다. 좀 더 진행하려고 했으나, 하루가 끝날 때까지 모든 문제를 완료하지는 못했다.
하지만 좌절하지 않는다. 아직 문제를 풀고 있는 중이고, 매일 조금씩 진행하면 된다. 중요한 것은 포기하지 않는 것이다.
3주차 첫 날을 마무리하며.....
SQL 심화: LEFT JOIN의 원리를 명확히 이해했다. 가장 많이 사용되는 JOIN 방식이니, 계속 반복 연습해야 한다.
Python 입문: 새로운 프로그래밍 언어의 기초를 시작했다. SQL과의 차이점을 인식하면서도 각 언어의 특성을 이해해야 한다.
문제풀이 진행: SQL 문제풀이를 계속하고 있다. 모든 문제를 완료할 때까지 진행할 계획이다.
내일은 SQL 문제를 모두 풀고, 본격적으로 Python 학습을 진행해야 한다. 시간 관리가 더욱 중요해지는 단계다.
2주를 마무리하고 3주차에 접어든 지금, 느끼는 것은 "캠프라는 것이 단순히 지식을 전달하는 것이 아니라, 자기주도적 학습의 중요성을 깨우치게 하는 과정"이라는 것이다. 아무리 좋은 강의를 들어도 직접 손으로 문제를 풀고, 반복해서 복습하지 않으면 그 지식은 내 것이 될 수 없다.
내일부터는 더욱 집중해서 문제를 풀어보겠다.