CAFE

Try IT! 비전공자...DB

3일차-단일행의 함수

작성자튜터|작성시간26.06.17|조회수7 목록 댓글 0

-- 1. 사원(T_EMP)  테이블에서 모든 사원의 이름, 급여, 급여를 두배한 값을 조회하자.

SELECT ename, sal, sal * 2
FROM  t_emp;

-- 2. 사원(T_EMP)  테이블에서 사원번호, 이름, 급여, 보너스(commission), 보너스 + 300 값을 조회하자.

SELECT empno, ename, sal, commission, commission + 300
FROM  t_emp;
 
-- 3. 사원(T_EMP)  테이블에서 사원번호, 이름, 급여, 보너스, 보너스 + 300 값을 조회하되
-- 보너스가 없는 경우에는 0으로 조회하도록 하자.

SELECT empno, ename, sal, ifnull(commission,0), ifnull(commission,0)+ 300
FROM  t_emp;
 
-- 4. 사원(T_EMP)  테이블에서 급여가 2000과 3000 사이에 해당하는
-- 사원의 이름, 직책과 급여와 부서번호를 조회하자.
-- (헤딩이 컬럼명 대신에 이름, 직책, 급여, 부서번호로 조회되도록 하자.)

SELECT ename, title, sal, deptno
FROM t_emp
WHERE sal BETWEEN 2000 and 3000;


SELECT ename AS 이름, title AS 직책, sal AS 급여, deptno AS 부서번호
FROM t_emp
WHERE sal BETWEEN 2000 and 3000;

 

-- 5. 위 4번의 조회 결과를 급여가 많은 사원순으로 조회하자.

SELECT ename AS 이름, title AS 직책, sal AS 급여, deptno AS 부서번호
FROM t_emp
WHERE sal BETWEEN 2000 and 3000
ORDER BY 급여 DESC;


-- 6. 사원(T_EMP)  테이블에서 사원번호가 10120, 10130, 10230, 10310 인 사원의 사원번호, 이름, 입사일자(HIREDATE)를 조회하자

SELECT empno AS 사원번호, ename AS 이름, hiredate AS 입사일자
FROM t_emp
WHERE empno IN (10120, 10130, 10230, 10310);

 

-- 7. 사원(T_EMP)  테이블에서 사원의 사원번호, 이름, 입사년도를 입사년도가 빠른 사원순으로 조회하자

SELECT empno AS 사원번호, ename AS 이름, YEAR(hiredate) AS 입사년도
FROM t_emp
ORDER BY 입사년도;

 

-- 8. 사원(T_EMP)  테이블에서 2015년도에 입사한 사원의 사원번호, 이름, 입사일자를 조회하자

SELECT empno AS 사원번호, ename AS 이름, hiredate AS 입사일자
FROM t_emp
WHERE YEAR(hiredate) = '2015';

 

SELECT empno AS 사원번호, ename AS 이름, hiredate AS 입사일자
FROM t_emp
WHERE hiredate like '2015%';


-- 9. 사원(T_EMP)  테이블에서 5월에 입사한 사원의 사원번호, 이름, 입사일자를 조회하자

SELECT empno AS 사원번호, ename AS 이름, hiredate AS 입사일자
FROM t_emp
WHERE MONTH(hiredate) = '05';

 

-- 결과 비교 :

SELECT empno AS 사원번호, ename AS 이름, hiredate AS 입사일자
FROM t_emp
WHERE hiredate like '%05%';

 

-- 10. 사원(T_EMP)  테이블에서 이름의 제일 마지막 글자가 '신'인 사원의 사번, 이름, 직책을 조회하자.

SELECT empno AS 사원번호, ename AS 이름, title AS 직책
FROM t_emp
WHERE ename like '%신';

SELECT empno AS 사원번호, ename AS 이름, title AS 직책
FROM t_emp
WHERE substr(ename,-1,1) = '신';

SELECT empno AS 사원번호, ename AS 이름, title AS 직책
FROM t_emp
WHERE right(ename,1) = '신';
 
-- 11. 사원(T_EMP)  테이블에서 사원의 사번, 이름, 입사일자와 입사후 100 후의 날짜를 최근에 입사한 사원순을 조회하자.

SELECT empno AS 사원번호, ename AS 이름, hiredate AS 입사일자,
adddate(hiredate, 100) AS "입사후 100일"
FROM t_emp
ORDER BY hiredate DESC;

-- 12. 사원(T_EMP)  테이블에서 사원번호, 이름, 급여, 급여등급을 급여가 많은 사원순으로 조회하자.
-- 급여등급은 급여가 5000 이상이면 'A'
-- 4000 이상이고, 5000 미만이면 'B'
-- 3000 이상이고, 4000 미만이면 'C',
-- 3000 이상이고, 3000 미만이면 'D', 2000 미만이면 'E' 로 표현한다.

SELECT empno AS 사원번호, ename AS 이름, sal AS 급여,
           CASE WHEN sal >= 5000 THEN 'A'
                   WHEN sal >= 4000 AND sal < 5000 THEN 'B'
                   WHEN sal >= 3000 AND sal < 4000 THEN 'C'
                   WHEN sal >= 2000 AND sal < 3000 THEN 'D'
                   WHEN sal< 2000 THEN 'E' 
           END AS 급여등급
FROM t_emp
ORDER BY sal DESC;

-- 13. 사원(T_EMP) 테이블에서 사원 명단을 이름 (직책) 형태로 조회하자.
SELECT concat(ename,' ( ', title,' )') AS "사원 명단"
FROM t_emp

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼