본문 바로가기

SQL2

FK (외래키)에 대해서 끄적끄적... 요즘도 많지만 SI에 외주를 맡겨 만들어진 서비스를 보면, FK가 걸려 있지 않은 것을 볼 수 있다.많은 회사를 겪지 않은 2년 차 개발자이지만, 두 곳에서 다 동일한 현상을 볼 수 있었다.두 번째 회사로 이직하기 전, 첫 번째 회사에서의 경험과 인프런에서 JPA를 다루는 많은 강의와 블로그들을 통해 FK를 거는 것이 당연하고 이렇게 해야 개발자가 편하고 유지보수하기 좋아! 라고 생각했다. 다른 글에도 있지만, 제미니의 개발실무 채널에서 다룬 영상을 보고 과거를 다시 생각해보기도 했다.FK를 걸지 않았을 때, 분명한 장점도 있다.SI에서 좋지 못하게 만든 예시에 너무 절여저서 그랬던 거 같기도 하다.예를 들면, nullable한 FK 컬럼에 0을 기본 값으로 설정하는 부분이 있다.생각해보면 요즘 null.. 2024. 4. 27.
JOIN & WHERE 조건 어디에 걸어볼까 예제는 User와 Team으로 하겠습니다. User는 Team에 가입할 수도 있고 없을 수도 있습니다. DB에는 Team에 가입한 User와 그렇지 않은 User 데이터가 존재합니다. [문제] 어떠한 User를 조회하는 데 가입한 Team이 있다면 User.id로 JOIN하여 함께 조회 문제에 따라 데이터를 조회한다고 했을 때, 이렇게 두 가지 경우가 있다는 것을 생각해 볼 수 있습니다. 1. 특정 User가 가입한 Team이 있는 경우 2. 특정 User가 가입한 Team이 없는 경우 [풀이] # 1 select * from user u left join team t on u.id = t.user_id where u.id = '1'; # 2 select * from user u join team t o.. 2024. 4. 17.