과목 II SQL 기본 및 활용

제1장 SQL 기본

제5절 WHERE 절

4. SQL 연산자

 

 

* IN (list) 연산자

 

[예제] 소속팀 코드와 관련된 IN (list) 형태의 SQL 비교 연산자를 사용하여 WHERE 절에 사용한다.

--------------------------------------------------------------

1) 소속팀코드 IN (삼성블루윙즈 코드(K02), 전남드래곤즈 코드(K07))

2) 포지션 LIKE 미드필더(MF)

3) 키 BETWEEN 170 센티미터 AND 180 센티미터

-------------------------------------------------------------- 

 SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키

 FROM PLAYER

 WHERE TEAM_ID IN ('K02','K07');

첫 번째 조건만 WHERE 절로 작성했습니다.

 

 

[실행결과]

(100개 행이 영향을 받음)

 

 


 

 

[준비] 별도 제공한 SQL SCRIPT를 통해 모든 테이블의 데이터를 새롭게 생성 (SQL 전문가 가이드 실습용 파일.zip)

압축파일의 [2.부서_사원_sqlserver용_2010년.sql] 을 이용하여 입력합니다.

 

 

[예제] 사원 테이블에서 JOB이 MANAGER이면서 20번 부서에 속하거나, JOB이 CLERK이면서 30번 부서에 속하는 사원의 정보를 IN 연산자의 다중 리스트를 이용해 출력하라. 

 SELECT ENAME, JOB, DEPTNO
 FROM EMP
 WHERE JOB IN ('MANAGER','CLERK') AND DEPTNO IN (20,30);

 

 

[실행결과] 

(5개 행이 영향을 받음)

 

 


 

 

 

* LIKE 연산자

 

[예제] 요구 사항의 두 번째 조건에 대해서 LIKE 연산자를 WHERE 절에 적용해서 실행한다.

 SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
 FROM PLAYER
 WHERE POSITION LIKE 'MF';

 

 

[실행결과]

(162개 행이 영향을 받음)

 

 


 

 

 

[예제] “장”씨 성을 가진 선수들의 정보를 조회하는 WHERE 절을 작성한다.

 SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
 FROM PLAYER
 WHERE PLAYER_NAME LIKE '장%';

 

 

[실행결과]

(13개 행이 영향을 받음)

 

 


 

 

* BETWEEN a AND b 연산자

 

[예제] 세 번째로 키가 170 센티미터 이상 180센티미터 이하인 선수들의 정보를 BETWEEN a AND b 연산자를 사용하여 WHERE 절을 완성한다.

SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
 FROM PLAYER
 WHERE HEIGHT BETWEEN 170 AND 180;

 

 

[실행결과]

(259개 행이 영향을 받음)

 

 


 

 

* IS NULL 연산자

 

[준비]

 UPDATE PLAYER
 SET POSITION = NULL
 WHERE POSITION = '';

처음 테이블 생성시에 몇 선수들의 POSITION 칼럼 값을 NULL이 아닌 공백으로 입력했었습니다.

따라서 POSITION 칼럼의 공백 값들을  NULL 값으로  수정 합니다.

 

 

[예제] POSITION 칼럼(Column) 값이 NULL 값인지를 판단하기 위해서는 IS NULL을 사용하여 다음과 같이 SQL 문장을 수정하여 실행한다.

 SELECT PLAYER_NAME 선수이름, POSITION 포지션, TEAM_ID
 FROM PLAYER
 WHERE POSITION IS NULL;

 

 

[실행결과]

(3개 행이 영향을 받음)

 

'SQL 전문가 가이드' 카테고리의 다른 글

부정 연산자  (0) 2013.09.26
논리 연산자  (0) 2013.09.26
비교 연산자  (0) 2013.09.24
SAVEPOINT  (0) 2013.09.24
ROLLBACK  (0) 2013.09.23
Posted by G4.
,