Programming/Database

3. SQL 기초 (CASE문, DISTINCT, WHERE, LIKE)

오숭이 2021. 12. 26. 19:08

CASE문

아래 코드와 같이 사용합니다.

select 컬럼명
case when '조건 then '조건에 만족할 때 출력할 데이터'
     else '조건에 만족하지 않을 때 출력할 데이터'
END
FROM 테이블 명;

When과 Then을 여러 개 입력하여 다중 조건으로 설정할 수 있습니다.

 

아래 예제는 emp 테이블에서 급여에 조건을 설정하였습니다.

select ename, sal,
case when sal<=1000 then 'LOW'
     when sal<=2000 then 'MIDDLE'
     else 'HIGH'
END
from emp;

급여가 1000 이하이면 LOW 출력

급여가 2000 이하이면 MIDDLE 출력

조건에 만족하지 않는 그 외, HIGH 출력

 

DISTINCT 키워드

검색하려는 컬럼의 중복되는 값을 제거한 뒤 출력합니다.

 

아래 코드는 emp 테이블에서 중복되는 job을 제거한 뒤 출력합니다.

select distinct job from emp;

출력 결과
select * from emp;

 

WHERE

WHERE절을 이용해서 조건적 SELECT문을 작성할 수 있다. 조건절은 FROM절 다음에 위치하며,

 

컬럼명, 비교연산자, 문자, 숫자, 표현식, 비교 칼럼명 등이 나올 수 있다.

연산자 종류

 

LIKE 구문

SQL 연산자 중, LIKE 구문에 대해 알아보면 부분적으로 일치하는 컬럼을 찾을 때 사용된다.

 

_ : 글자숫자를 정해줌(EX 컬럼명 LIKE '홍_동')

 

% : 글자숫자를 정해주지않음(EX 컬럼명 LIKE '홍%')

 

--A로 시작하는 문자를 찾기--
SELECT 컬럼명 FROM 테이블 WHERE 컬럼명 LIKE 'A%'

--A로 끝나는 문자 찾기--
SELECT 컬럼명 FROM 테이블 WHERE 컬럼명 LIKE '%A'

--A를 포함하는 문자 찾기--
SELECT 컬럼명 FROM 테이블 WHERE 컬럼명 LIKE '%A%'

--A로 시작하는 두글자 문자 찾기--
SELECT 컬럼명 FROM 테이블 WHERE 컬럼명 LIKE 'A_'

--첫번째 문자가 'A''가 아닌 모든 문자열 찾기--
SELECT 컬럼명 FROM 테이블 WHERE 컬럼명 LIKE'[^A]'

--첫번째 문자가 'A'또는'B'또는'C'인 문자열 찾기--
SELECT 컬럼명 FROM 테이블 WHERE 컬럼명 LIKE '[ABC]'
SELECT 컬럼명 FROM 테이블 WHERE 컬럼명 LIKE '[A-C]'

'Programming > Database' 카테고리의 다른 글

2. SQL 기초 (SELECT문)  (0) 2021.12.26
1. SQL 기초 (테이블 만들기)  (0) 2021.12.26