목록Database (2)
From Zero to SAP
왜 외부 조인이 필요할까?이전 포스팅에서 내부 조인에 대해서 학습했다. 분명 흩어진 데이터를 연결하여 의미 있는 데이터를 만드는 데에 충분한 것 같은데 왜 외부 조인이 필요한 걸까?"쇼핑몰 가입된 고객 중에 아직까지 한 번도 주문하지 않은 고객" 혹은 "출시된 상품 중에 하나도 안팔린 상품"과 같은 데이터를 얻고싶다면? -> 생각해보면 답이 나오겠지만, 내부 조인으로는 불가능하다.왜냐하면, 내부 조인은 공통된 데이터(교집합)을 찾는 용도이다. 쇼핑몰 가입된 고객인데 한 번도 주문하지 않은 고객이라는 말은 users(회원) 테이블에는 회원이 존재하지만, orders(주문) 테이블에는 해당 회원이 없다는 말이기 때문이다. 이처럼 한쪽에는 데이터가 있지만, 다른 한쪽에는 없는 데이터까지 모두 포함해서 보고 싶..
왜 JOIN이 필요할까?“최근 주문 현황을 고객 이름과 상품명을 포함해서 보고서를 만들어!”이런 요청을 받았다고 가정해보자.막상 orders 테이블을 열어보면 고객 이름도, 상품명도 없다. 오직 user_id와 product_id만 존재할 뿐이다. 이 상태로는 user_id = 1이 누구인지, product_id = 4가 어떤 상품인지 바로 알 수 없다. 그렇다고 하나하나 직접 매핑할 수도 없는 노릇이다. 데이터가 수백만 건이라면? 생각만 해도 끔찍하다. 그냥 테이블 하나에 모든 정보를 다 넣으면 안 될까?얼핏 보면 합리적인 생각 같지만, 실제로는 심각한 문제들이 생긴다.데이터 중복 - 한 고객이 100번 주문하면, 이메일과 주소 같은 정보가 100번 반복 저장된다.갱신 이상 - 이메일 주소가 바뀌면..