[SQL] 연산자 예제

정은아·2022년 8월 23일
0
post-custom-banner

BETWEEN ~ AND 예제

  Q. 커미션(COMM)이 300 혹은 500 혹은 1400인 사원이 있는지 검색하시오

  SELECT * FROM emp WHERE comm = 300 OR comm = 500 OR comm = 1400;

  SELECT * FROM emp WHERE comm IN(300,500,1400);

  Q. 사원번호가 7521도 아니고 7654도 아니고 7844도 아닌 사원을 검색하는 
    2가지 쿼리문을 작성하시오.

  SELECT * FROM emp WHERE empno <> 7521 AND empno != 7654 AND empno ^= 7844;

  SELECT * FROM emp WHERE empno NOT IN(7521, 7654, 7844);
	
  Q. 사원 이름이 FORD인 사원의 이름, 월급, 입사일을 출력하시오

  SELECT ename, sal, hiredate FROM emp WHERE ename = 'FORD';

LIKE , 와일드카드 예제

 Q. 이름의 마지막 글자가 'N'인 사원들을 출력하시오

 SELECT * FROM emp WHERE ename LIKE '%N';

 Q. 이름의 첫번째 글자가 'T'인 사원의 월급과 부서번호를 출력하시오

 SELECT ename, sal, deptno FROM emp WHERE ename LIKE 'T%';

 Q. 이름에 'A'를 갖고있는 사원들을 출력하시오

 SELECT * FROM emp WHERE ename LIKE '%A%';

 Q. 이름이 5글자인 사원을 출력하시오.

 SELECT * FROM emp WHERE ename LIKE '_____';

 Q. 이름의 세번째 글자가 'R'자이고 , 30번 부서에서 일하는 사원을 출력하시오.

 SELECT * FROM emp WHERE ename LIKE '__R%%' AND deptno = 30;

 Q. 입사일이 '81/04/02'인 사원의 월급을 500원 인상하시오

 SELECT ename "이름" , sal "월급", sal + 500 "인상된 월급" FROM emp WHERE hiredate = '81/04/02';

 SELECT * FROM emp WHERE ename LIKE '%_%';  = '%_%'가 와일드카드(만능문자)다.

 SELECT * FROM emp WHERE ename LIKE '%\%'; = \뒤에오는 문자를 찾겠다는 뜻.

NULL 예제

Q. 커미션(COMM)을 받지 않는 사원들을 출력하시오.

 SELECT * FROM emp WHERE comm IS NULL;

 Q. 상관이 없는 사원을 출력하시오.

SELECT * FROM emp WHERE mgr IS NULL;

Concatenation / DISTINCT 예제

Q. emp 테이블에서 직급이 중복되어 출력되지 않은 결과를 출력하시오.

  SELECT DISTINCT job FROM emp;

Q. emp 테이블에서 보너스를 받는 사원중에 500과 1400이 아닌 
   사원들의 이름과 보너스 금액을 출력하시오.

   SELECT ename, comm FROM emp WHERE NOT comm IN(500, 1400);

   SELECT ename, comm FROM emp WHERE comm IS NOT NULL AND comm NOT IN(500, 1400);
   (comm IS NOT NULL AND를 빼도 연산이 가능하다.)

   NULL값인 사람들도 나오게 하고 싶다면? NVL 값을 써주도록 한다.

   SELECT ename, comm FROM emp WHERE NVL(comm,0) NOT IN(500, 1400);

Q. 30번 부서의 사원들의 연봉을 20% 인상한 후, 
   이름, 부서번호, 월급, 인상된 연봉 순으로 출력하시오.

   SELECT ename "이름" , deptno "부서번호" , sal"월급" , sal*12*1.2 "인상된 연봉" FROM emp WHERE deptno = 30;

  // "" 안써도 됨! ""는 공백이 있을 때 반드시 써야하는 것이고, 공백이 없다면 ""를 안써도 된다.
profile
꾸준함의 가치를 믿는 개발자
post-custom-banner

0개의 댓글