Loading the catalog…
Loading the catalog…
최근 주문현황을 고객 이름과 상품명을 포함해서 보고서로 만들어줘!! USERS , PRODUCTS , ORDERS 테이블만 있는 상황 ORDERS 에서는 id 만있느 고객이름, 상품명이 없다. 만약 모든 데이터를 하나의 테이블에 저장한다면? 고객이 주문하지 않은 상품은 어떻게 관리 할래 주문하지 않은 고객은 어떻게 관리 할래 모든 주문거의 상품 마다 저장하면 얼마나 많은 커다란 데이터가 있을까 데이터 중복(Redundancy) : 고객이 100번 주문하면, 이름, 이메일, 주소 정보가 100번이나 불필요하게 저장 갱신 이상(Update Anomaly) : 100번 주문한 고객의 주소가 변경되면 1개라도 누락되면 어떻게할래 삽입 이상, 삭제 이상 우리는 데이터베이스를 설계할 때 정규화(Normalization) 라는 과정을 거친다. 데이터 중복을 최소화하고 일관성을 유지하기 위해 데이터를 논리적인 단위로 분리하는 과정 이래서 조인이 필요하다 여러가지 이유로 데이터를 왜 분리해서 저장하는지 이해했다. 데이터의 중복을 막고 일관성을 지키기 위함 즉, 데이터를 잘 관리 하기 위해서 이다. 하지만 반대로 의미있는 정보를 얻기 위해서는 흩어진 조각을 합쳐야하는데 이게 조인 데이터 정규화()뿐리)를 통해 얻는 일관성과 효율성의 장점은 그대로 유지하면서, 우리가 원하는 통합된 정보를 얻을수 있게 해주는 기술이다. 내부 조인 두 테이블을 연결할때, 양쪽 테이블에 모두 공통으로 존재하는 데이터만을 결과 로 보여줌 주문이 완료된( COMPLETED ) 모든 주문에 대해, 어떤 고객이 주문했는지 고객 ID, 고객 이름과 주문 날짜를 함께 보고 싶네 SELECT * FROM orders INNER JOIN users ON orders.user_id = users.user_id; SELECT orders.user_id, users.name, orders.order_date FROM orders INNER JOIN users ON orders.user_id = users.user_id WHERE orders.status = 'COMPLETED' 논리적인 순서 FROM / JOIN 을 통해 가상 테이블을 만든다. WHERE join을 통해 생성된 가상 테이블에서 WHERE 절의 조건이 만족하는 행들만 필터링 SELECT 필터링된 가상 테이블에서 SELECT 로 최종 결과 정리 물론 쿼리 최적화기를 통해 효율적으로 실행하는 순서는 달라질수 있다. 일단은 SQL 자체에 집중 내부 조인의 순서는 언제 중요할까? 내부 조인은 결과가 같으므로 어떤 순서로 작성해도 무방하다. 어떤 데이터가 중심이 되는가 에 집중하면 가독성이 높아진다. 주문 목록을 중심 으로 고객 정보를 추가 FROM orders JOIN users 고객 목록을 중심 으로 주문 정보를 조회 FROM users JOIN orders 외부조인은 순서가 결과에 매우 큰 영향을 미친다 다행이 문제는 그냥 원트에 풀었따
What RADAR observed and classified to build this opportunity. It is what the source published, not a verification that the offer is still active.
조인, 내부조인, 외부조인, 기타조. 최근 주문현황을 고객 이름과 상품명을 포함해서 보고서로 만들어줘!! USERS , PRODUCTS , ORDERS 테이블만 있는 상황 ORDERS 에서는 id 만있느 고객이름, 상품명이 없다. 만약 모든 데이터를 하나의 테이블에 저장한다면? 고객이 주문하지 않은 상품은 어떻게 관리 할래 주문하지 않은 고객은 어떻게 관리 할래 모든 주문거의 상품 마다 저장하면 얼마나 많은 커다란 데이터가 있을까 데이터 중복(Redundancy) : 고객이 100번 주문하면, 이름, 이메일, 주소 정보가 100번이나 불필요하게 저장 갱신 이상(Update Anomaly) : 100번 주문한 고객의 주소가 변경되면 1개라도 누락되면 어떻게할래 삽입 이상, 삭제 이상 우리는 데이터베이스를…