본문 바로가기
혼공학습단 12기

[혼공S] 3주차 마무리

by jaeheon0520 2024. 7. 20.

 

휴... 태국여행 너무 재밌게 잘 다녀왔습니다.

 

책을 들고 가긴 했는데... 예상은 했지만 너무 피곤해서 열어보지도 못했습니다 :(

 

하지만 재밌었잖아 한잔해~

 

아직 안가보신 분들 계시면 방콕-파타야 투어 추천합니다!

 

재밌었으니 한잔해~

 

3주 차에 조인을 포함해서 중요한 내용이 정말 정말 많이 나왔습니다.

 

놀러 다니느라 정리는 제대로 못했지만 다행히도 럭키비키한 여름방학이 있으니 그때 꼼꼼히 정리하는 걸로~

 

각 단원별 학습 내용 정리는 '혼공학습단 12기' 카테고리 안에 있습니다:)

 

기본 숙제

p.195의 확인 문제 4번 풀고 인증하기

 

문제: 다음 SQL은 회원으로 가입만 하고, 한 번도 구매한 적이 없는 회원의 목록입니다. 빈칸에 들어갈 가장 적합한 것을 고르세요.

 

SELECT DISTINCT M.mem_id, B.prod_name, M.mem_name, M.addr
    FROM member M
        LEFT OUTER JOIN buy B
        ON M.mem_id = B.mem_id
    (   빈   칸   )
    ORDER BY M.mem_id;

 

① JOIN B.prod_name IS NULL

② LIMIT B.prod_name IS NULL

③ HAVING B.prod_name IS NULL

④ WHERE B.prod_name IS NULL

 

정답:

 

풀이: 한 번도 물건을 구매한 적이 없는 회원의 목록을 출력하는 문제이므로 buy 테이블의 prod_name 필드가 NULL 인 항목만 선택하면 됩니다. 이러한 조건을 적용하여 검색하기 위해서는 WHERE 절을 사용하면 됩니다. WHERE 절을 사용하면 조인된 결과에서 buy 테이블의 prod_name 값이 NULL인 회원들만 출력되도록 필터링 할 수 있습니다.

 

선택 숙제

p.183 [좀 더 알아보기] 손코딩 실행하고 결과화면 인증하기

 

내부 조인이 양쪽 테이블 모두에 있는 내용만 조회된다는 특성을 사용해서 '우리 온라인 마켓을 이용해서 한번이라도 물건을 구매한 기록이 있는 회원들을 검색' 하는 실습이었습니다.

 

내부 조인을 이용해서 조건에 맞는 회원을 추출하고, 중복된 이름은 필요없으므로 DISTINCT 문을 활용해서 중복을 제거합니다.

 

USE market_db;
SELECT DISTINCT M.mem_id, M.mem_name, M.addr
    FROM buy B
        INNER JOIN member M
        ON B.mem_id = M.mem_id
    ORDER BY M.mem_id;

 

 

오늘 하루도 쌓였다!