버터감자
오늘도 내 하루는
버터감자
전체 방문자
오늘
어제
  • 분류 전체보기 (139)
    • 🏃‍♀️ Do it ! (80)
      • TIL (73)
      • Project (5)
      • Certificate (2)
    • 📓 TechNote (52)
      • RPA (1)
      • Python (2)
      • JAVA (13)
      • Spring (11)
      • SQL (7)
      • Git & GitHub (6)
      • CS (0)
      • HTML & CSS & JavaScript (2)
      • Tools (9)
      • API (1)
    • 🔔 Error (7)
      • Error (7)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 데이터베이스
  • sqld
  • dml
  • foreach
  • 스택
  • 이클립스
  • 홈페이지
  • 배열
  • 변수
  • 부트스트랩
  • 안드로이드
  • SQL
  • 만들기
  • 객체지향
  • 톰캣
  • 포트폴리오
  • 세션
  • 게시판
  • final필드
  • 코틀린
  • 기본쿼리
  • 문제풀이
  • opacity
  • 오라클
  • 함수
  • 이것이자바다
  • 스프링
  • callback
  • 큐
  • 버블소트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
버터감자

오늘도 내 하루는

📓 TechNote/SQL

[SQL 기본쿼리] 연습 문제 풀이 2

2022. 12. 6. 12:43
728x90

📌 기본쿼리 2 문제

1. ALLEN 과 부서가 같은 사원들의 사원명, 입사일을 출력(급여 내림차순 정렬)

2. 가장 높은 급여를 받는 사원보다 입사일이 늦은 사원의 이름, 입사일을 출력
   
3. 이름에 'T' 자가 들어가는 사원들의 급여의 합을 구하세요. (LIKE 사용)
LIKE '%T%'

4. 모든 사원의 평균급여를 구하세요. 소수 둘째자리 반올림표현
ROUND(수, 소수 몇째자리)

5. 각 부서별 평균 급여를 구하세요. 소수 둘째자리 반올림표현 (GROUP BY)
AS는 생략가능, ROUND(AVG(SAL), 2)가 제목에 들어가는 것을 막기 위해 '부서평균급여' 넣어주기

6. 각 부서별 평균급여, 전체급여, 최고급여, 최저급여를 구하여 평균급여가 높은 순으로 출력. 
평균은 소수 둘째자리 반올림표현

7. 20번 부서의 최고 급여보다 많은 사원의 사원번호, 사원명, 급여를 출력
  
8. SMITH 와 같은 부서에 속한 사원들의 평균급여보다 큰  급여를 받는 모든 사원의 사원명, 급여를 출력
    
9. 회사내의 최소급여와 최대급여의 차이를 구하세요.       
  
10. SMITH 의 급여에서 1000 을 뺀 급여보다 적게 받는 사원의 이름, 급여를 출력.
   
11. JOB이 MANAGER인 사원들 중 최소급여를 받는 사원보다 급여가 적은 사원이름, 급여를 출력
   
12. 이름이 S로 시작하고 마지막글자가 H인 사원의 이름을 출력
   
13. WARD 가 소속된 부서 사원들의 평균 급여보다, 급여가 높은 사원의 이름,급여를 출력.
   
14-1. EMP테이블의 모든 사원수를 출력
    
14-2. 부서별 사원수를 출력
   
15. 업무별(JOB) 사원수를 출력
    
16. 최소급여를 받는 사원과 같은 부서의 모든 사원명을 출력

🧐 버터감자 기본쿼리 문제풀이 

-- 1. ALLEN 과 부서가 같은 사원들의 사원명, 입사일을 출력(급여 내림차순 정렬)
   SELECT ename, HIREDATE FROM EMP 
   WHERE DEPTNO = (SELECT DEPTNO FROM EMP WHERE ename ='ALLEN')
   ORDER BY SAL DESC;
   
-- 2. 가장 높은 급여를 받는 사원보다 입사일이 늦은 사원의 이름, 입사일을 출력
   SELECT ename, HIREDATE FROM EMP 
   WHERE HIREDATE > (SELECT HIREDATE FROM EMP WHERE SAL = (SELECT MAX(SAL) FROM EMP));
    
-- 3. 이름에 'T' 자가 들어가는 사원들의 급여의 합을 구하세요. (LIKE 사용)
-- LIKE '%T%'
   SELECT SUM(SAL) FROM EMP WHERE ENAME LIKE '%T%';
  
-- 4. 모든 사원의 평균급여를 구하세요. 소수 둘째자리 반올림표현
-- ROUND(수, 소수 몇째자리)
   SELECT ROUND(AVG(SAL), 2) FROM EMP; 
   
 
-- 5. 각 부서별 평균 급여를 구하세요. 소수 둘째자리 반올림표현 (GROUP BY)
-- AS는 생략가능, ROUND(AVG(SAL), 2)가 제목에 들어가는 것을 막기 위해 '부서평균급여' 넣어주기
   SELECT DEPTNO, ROUND(AVG(SAL), 2) 부서평균급여 FROM EMP GROUP BY DEPTNO;
    
-- 6. 각 부서별 평균급여, 전체급여, 최고급여, 최저급여를 구하여 평균급여가 높은 순으로 출력. 
--    평균은 소수 둘째자리 반올림표현
    SELECT ROUND(AVG(SAL), 2), SUM(SAL), MAX(SAL), MIN(SAL)
    FROM EMP
    GROUP BY DEPTNO
    ORDER BY AVG(SAL) DESC;

-- 7. 20번 부서의 최고 급여보다 많은 사원의 사원번호, 사원명, 급여를 출력
  SELECT empno, ENAME, SAL FROM EMP
  WHERE SAL > ( SELECT MAX(SAL) FROM EMP WHERE DEPTNO = 20);
 
-- 8. SMITH 와 같은 부서에 속한 사원들의 평균급여보다 큰  급여를 받는 모든 사원의 사원명, 급여를 출력
   SELECT ename, SAL FROM EMP 
   WHERE SAL > ( SELECT AVG(SAL) FROM emp WHERE DEPTNO = (SELECT DEPTNO FROM EMP WHERE ENAME ='SMITH'));
        
-- 9. 회사내의 최소급여와 최대급여의 차이를 구하세요.       
   SELECT MAX(SAL)- MIN(SAL) FROM EMP;

-- 10. SMITH 의 급여에서 1000 을 뺀 급여보다 적게 받는 사원의 이름, 급여를 출력.
   SELECT ename, SAL FROM EMP 
   WHERE SAL < (SELECT SAL - 1000 FROM EMP WHERE ENAME ='SMITH');
   
-- 11. JOB이 MANAGER인 사원들 중 최소급여를 받는 사원보다 급여가 적은 사원이름, 급여를 출력
   SELECT ename, SAL FROM EMP
   WHERE SAL < (SELECT MIN(SAL) FROM EMP WHERE JOB ='MANAGER');
   
-- 12. 이름이 S로 시작하고 마지막글자가 H인 사원의 이름을 출력
   SELECT ENAME FROM EMP WHERE ENAME LIKE 'S%H';
   
-- 13. WARD 가 소속된 부서 사원들의 평균 급여보다, 급여가 높은 사원의 이름,급여를 출력.
   SELECT ename, SAL FROM EMP 
   WHERE SAL > ( SELECT AVG(SAL) FROM EMP WHERE DEPTNO = (SELECT DEPTNO FROM EMP WHERE ENAME ='WARD'));
 
-- 14-1. EMP테이블의 모든 사원수를 출력
   SELECT COUNT(*) FROM EMP;

-- 14-2. 부서별 사원수를 출력
   SELECT DEPTNO, COUNT(*) FROM EMP 
   GROUP BY DEPTNO;
   
-- 15. 업무별(JOB) 사원수를 출력
   SELECT JOB ,COUNT(*) FROM EMP
   GROUP BY JOB;
 
-- 16. 최소급여를 받는 사원과 같은 부서의 모든 사원명을 출력
   SELECT ENAME FROM EMP
   WHERE DEPTNO = (SELECT DEPTNO FROM EMP WHERE SAL = (SELECT MIN(SAL)FROM EMP));

 

'📓 TechNote > SQL' 카테고리의 다른 글

[SQL 중급쿼리] 연습 문제 풀이 1  (0) 2022.12.21
[SQL 기본쿼리] 연습 문제 풀이 4  (0) 2022.12.06
[SQL 기본쿼리] 연습 문제 풀이 3  (0) 2022.12.06
[SQL 기본쿼리] 연습 문제 풀이 1  (0) 2022.12.06
[DB] SQL관련 온라인북 사이트  (0) 2022.10.13
    '📓 TechNote/SQL' 카테고리의 다른 글
    • [SQL 기본쿼리] 연습 문제 풀이 4
    • [SQL 기본쿼리] 연습 문제 풀이 3
    • [SQL 기본쿼리] 연습 문제 풀이 1
    • [DB] SQL관련 온라인북 사이트
    버터감자
    버터감자
    🌱 새싹 개발자의 코딩 블로그 🌱

    티스토리툴바