과목 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 |
[실행결과]
(5개 행이 영향을 받음)
* LIKE 연산자
[예제] 요구 사항의 두 번째 조건에 대해서 LIKE 연산자를 WHERE 절에 적용해서 실행한다.
SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키 |
[실행결과]
(162개 행이 영향을 받음)
[예제] “장”씨 성을 가진 선수들의 정보를 조회하는 WHERE 절을 작성한다.
SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키 |
[실행결과]
(13개 행이 영향을 받음)
* BETWEEN a AND b 연산자
[예제] 세 번째로 키가 170 센티미터 이상 180센티미터 이하인 선수들의 정보를 BETWEEN a AND b 연산자를 사용하여 WHERE 절을 완성한다.
SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키 |
[실행결과]
(259개 행이 영향을 받음)
* IS NULL 연산자
[준비]
UPDATE PLAYER |
처음 테이블 생성시에 몇 선수들의 POSITION 칼럼 값을 NULL이 아닌 공백으로 입력했었습니다.
따라서 POSITION 칼럼의 공백 값들을 NULL 값으로 수정 합니다.
[예제] POSITION 칼럼(Column) 값이 NULL 값인지를 판단하기 위해서는 IS NULL을 사용하여 다음과 같이 SQL 문장을 수정하여 실행한다.
SELECT PLAYER_NAME 선수이름, POSITION 포지션, TEAM_ID |
[실행결과]
(3개 행이 영향을 받음)