예제를 통한 기본 조건 검색 및 정렬, 그룹제어
예제 1)
tEmployee 테이블은 직원들의 정보가 들어있는 테이블이다.
문구 생산부(DNumber : D1001)와 가구생산부(DNumber : D2001)의 직원 정보를 확인 하려한다.
위에 해당하는 직원들의 직원명과 입사일을 입사일이 빠른 순서대로 출력하라
입사일은 연,월,일 까지만 출력되어야 한다.
정답
SELECT tem.EName AS 직원명, TO_CHAR(tem.StartDate,'YYYY-MM-DD') AS 입사일 // TO_CHAR 함수로 입사일 포매팅
FROM tEmployee AS tem
WHERE tem.DNumber IN('D1001','D2001') // DNumber가 D1001, D2001 인것만 조회
ORDER BY tem.StartDate // 입사일 빠른 순서대로 정렬
예제 2)
tEmployee 테이블은 직원들의 정보가 들어있는 테이블이다.
2020년 크리스마스부터 입사일이 만 2년이 넘어가는 사람에게 보너스를 지급하려고 한다.
위 조건에 해당하는 직원의 직원명과 입사일을 출력하시오. (정렬은 고려하지 않음)
정답
SELECT tem.EName AS 직원명, tem.StartDate AS 입사일
FROM tEmployee AS tem
WHERE tem.StartDate < CAST('2020-12-25' as timestamp) - CAST('2 year' AS INTERVAL) // 만 2년 이상 대상자
예제 3)
tProduction 테이블은 직원들 제품 생산 정보 테이블이다
2020년 2월의 총생산량을 알려고한다.
해당 월에 생상된 제품들의 코드와 해당 제품들의 총 생산량을 출력하시오
정답
SELECT tpr.INumber AS 제품코드, SUM(tpr.PCount) AS 총_생산량
FROM tProduction AS tpr
WHERE tpr.PDate BETWEEN CAST('2020-02-01' as timestamp) and CAST('2020-03-01' as timestamp)
GROUP BY tpr.INumber
예제 4)
tProduction 테이블은 직원들 제품 생산 정보 테이블이다
2020년 1월에 생산량 500개 이상을 달성한 인원들의 직원번호와 총 생산량을 출력하시오
정답
SELECT tpr.ENumber AS 직원번호, SUM(tpr.pCount) AS 총_생산량
FROM tProduction AS tpr
WHERE tpr.PDate BETWEEN CAST('2020-01-01' as timestamp) and CAST('2020-02-01' as timestamp)
GROUP BY tpr.ENumber
HAVING SUM(tpr.PCount) >= 500
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
'알고리즘 챌린지' 카테고리의 다른 글
패스트캠퍼스 챌린지 41일차 (0) | 2022.03.05 |
---|---|
패스트캠퍼스 챌린지 40일차 (0) | 2022.03.04 |
패스트캠퍼스 챌린지 38일차 (0) | 2022.03.02 |
패스트캠퍼스 챌린지 37일차 (0) | 2022.03.01 |
패스트캠퍼스 챌린지 36일차 (0) | 2022.02.28 |