[정보처리산업기사 과정평가형 - 실기] 매출 표현하기
- 정보처리산업기사 과정평가형/실기
- 2021. 4. 10.
매출 표현하기
여기가 가장 하이라이트 입니다.
DB의 SQL문을 얼마나 자유롭게 활용 가능한가? 를 테스트하는 것 같습니다.
서브쿼리 혹은 JOIN을 통해 난관을 해결해야 합니다.
2개 이상의 테이블을 사용할 경우, UNIQUE 성질을 가진 컬럼만 봅니다.
그리고 SELECT으로 표현할 구간을 살펴보면 끝납니다.
CUSTNO라는 공통된 컬럼을 가졌으므로
JOIN을 활용해봅시다.
기본 JOIN을 사용할 경우, INNER JOIN이 활용 됩니다.
따라서 위와 같이 작성할 경우 중복된 값을 포함하여 이렇게 표시되는 것을 확인 할 수 있습니다.
이제 여기서 * 이 아닌,CUSTNO, CUSTNAME, GRADE, PRICE만 표시되도록 만들도록 합니다.
중복된 값을 없애기 위해서는 GROUP BY를 활용합니다.
GROUP BY를 활용하니, 중복데이터가 지워지는 것을 확인 할 수 있습니다.
여기서 CUSTNO와 CUSTNAME도 추가해봅니다.
CUSTNO와 CUSTNAME이 추가적으로 생성된 것을 확인 할 수 있습니다.
이제 문제에서, 이들의 매출을 확인하자고 했으므로, 함수를 활용하도록 합니다.
함수는 MAX, COUNT, SUM 중에서 출제확률이 매우 높으며,
이 예제문제에서는 SUM을 활용하도록 합니다.
SELECT A.CUSTNO, A.CUSTNAME, A.GRADE, SUM(B.PRICE) FROM MEMBER_TBL_02 A JOIN MONEY_TBL_02 B ON A.CUSTNO = B.CUSTNO GROUP BY(A.CUSTNO, A.CUSTNAME, A.GRADE);
이제 마지막으로 매출이 높을수록 위에 올라가도록 해야 하므로 ORDER BY를 주도록 합니다.
SELECT A.CUSTNO, A.CUSTNAME, A.GRADE, SUM(B.PRICE) AS TOTAL FROM MEMBER_TBL_02 A JOIN MONEY_TBL_02 B ON A.CUSTNO = B.CUSTNO GROUP BY(A.CUSTNO, A.CUSTNAME, A.GRADE) ORDER BY TOTAL DESC;
SUM(B.PRICE)에 AS를 활용하여 TOTAL이라는 임의의 컬럼명을 만들었습니다.
그리고 TOTAL을 기준으로 내림차순으로 하라고 하면, 문제에서 출제된대로 내림차순이 되는 것을 확인 할 수 있습니다.
이제 이를 기존의 SELECT문을 복사하여, 추가하고 줄이면 됩니다.
MEMBER에 PRICE라는 변수만 추가하고 작업한다면 좀 더 수월하게 작업 할 수 있습니다.
이 예제는 출제문제중에서 가장 쉬우므로, 혼자하는 시간으로 갖도록 하겠습니다.
결과는 마지막 페이지에서 확인하시면 됩니다.
전체 목록
[정보처리산업기사 과정평가형 - 실기] 회원가입 만들기
[정보처리산업기사 과정평가형 - 실기] 회원가입 만들기2
[정보처리산업기사 과정평가형 - 실기] 회원가입 만들기3
[정보처리산업기사 과정평가형 - 실기] 회원 목록 만들기
[정보처리산업기사 과정평가형 - 실기] 회원 정보 가져오기
[정보처리산업기사 과정평가형 - 실기] 회원 정보 수정하기
'정보처리산업기사 과정평가형 > 실기' 카테고리의 다른 글
[정보처리산업기사 과정평가형 - 실기] 코드 가져가기 (0) | 2021.04.10 |
---|---|
[정보처리산업기사 과정평가형 - 실기] 회원 정보 수정하기 (0) | 2021.04.10 |
[정보처리산업기사 과정평가형 - 실기] 회원 정보 가져오기 (0) | 2021.04.10 |
[정보처리산업기사 과정평가형 - 실기] 회원 목록 만들기 (0) | 2021.04.10 |
[정보처리산업기사 과정평가형 - 실기] 회원가입 만들기3 (0) | 2021.04.10 |