책 리뷰/초보자를 위한 SQL 200제

[Day3/30] 초보자를 위한 SQL 200제

조조링 2024. 10. 25. 22:32
728x90
반응형

 

이 카테고리는 정보문화사의 "초보자를 위한 SQL 200제" 30일 코스를 학습 하면서 실습한 내용입니다. 

 

 

1. 비교 연산자 배우기 3 - LIKE

이름의 첫 글자가 S로 시작하는 사원들의 이름과 월급 출력
SELECT ename, sal
    FROM emp
    WHERE ename LIKE 'S%';
  • %는 와일드 카드 - 와일드 카드는 이 자리에 어떠한 철자가 와도 상관없고 철자의 개수가 몇 개가 되든 관계없다는 뜻이다.
  • 즉, WHERE ename LIKE ‘S%’는 첫 번째 철자가 S이고, 두 번째 철자가 %인 데이터를 검색하겠다는 뜻
  • %가 특수문자 퍼센트가 아니라 와일드 카드로 사용되려면 이퀄 연산자(=)가 아닌 LIKE 연산자를 사용해야 함

 

 

 

 

 

 

이름의 두 번째 철자가 M인 사원의 이름을 출력
SELECT ename
    FROM emp
    WHERE ename LIKE '_M%';
  • 언더바(_)는 어떠한 철자가 와도 관계없으나 자리수는 한 자리여야 된다는 의미

 

 

이름의 끝 글자가 T로 끝나는 사원들의 이름을 출력
 SELECT ename
    FROM emp
    WHERE ename LIKE '%T';

 

 

이름에 A를 포함하고 있는 사원들의 이름을 출력
SELECT ename
    FROM emp
    WHERE ename LIKE '%A%';

 

 

2. 비교 연산자 배우기 4 - IS NULL

커미션이 NULL인 사원들의 이름과 커미션을 출력
SELECT ename, comm
    FROM emp
    WHERE comm is null
  • NULL 값은 데이터가 할당되지 않은 상태를 의미하며, 이퀄 연산자로 비교할 수 없다.
  • 따라서, NULL 값을 검색하기 위해서는 is null 연산자 사용해야 한다.

 

3. 비교 연산자 배우기 5 - IN

직업이 SALESMAN, ANALYST, MANAGER인 사원들의 이름, 월급, 직업을 출력
SELECT ename, sal, job
    FROM emp
    WHERE job in ('SALAEMAN','ANALYST','MANAGER');
  • IN 연산자는 여러 리스트의 값을 한번에 조회할 수 있다.

 

직업이 SALESMAN, ANALYST, MANAGER이 아닌 사원들의 이름, 월급, 직업을 출력
SELECT ename, sal, job
    FROM emp
    WHERE job NOT in ('SALESMAN','ANALYST','MANAGER');

 

 

4. 논리 연산자 배우기 (AND, OR, NOT)

직업이 SALESMAN이고 월급이 1200 이상인 사원들의 이름, 월급, 직업을 출력
SELECT ename, sal, job
    FROM emp
    WHERE (job ='SALESMAN') AND (sal >= 1200);

728x90
반응형