반응형
Notice
Recent Posts
Recent Comments
Link
Today
Total
07-03 03:43
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
관리 메뉴

iOS 개발 기록 블로그

SQL 연산자 종류, between, like, in, is null 연산자 본문

SQL

SQL 연산자 종류, between, like, in, is null 연산자

crazydeer 2021. 11. 30. 21:00
반응형

연산자의 종류

1. 산술 연산자: + - * /

2. 비교 연산자: >, <, >=, <=, =, <>, !=, ^= (뒤에 3개는 같지 않다)

3. 논리 연산자: and, or, not

 

 

WHERE절과 비교 연산자

where절은 데이터 검색 조건을 기술하는 절

 

select + 컬럼명

from + 테이블명

where + 검색 조건

 

 

예제 1) emp 라는 테이블에서 사원번호가 1234인 사원의 사원번호와 이름을 출력하시오

 

select empno, ename

  from emp

  where empno = 1234;

 

실행순서: from > where > select

 

 

주의

숫자와 다르게 문자와 날짜는 ' ' (싱글쿼테이션) 마크로 감싸줘야 한다

order by, where 절에서는 ' '

as 의 경우에는 "OOO" (더블쿼테이션)

 

>> 원래 있는 컬럼은 ' ' 을 쓰며 새로운 값으로 별칭을 정해줄 때는 " "

 

 

 

기타 비교 연산자

between and, like, in, is null

 

 

between and

where문에서 두 값의 사이

 

예제 2) 월급이 1000에서 3000 사이가 아닌 사원들의 이름과 월급을 출력하시오

 

select ename, sal

  from emp

  where sal not between 1000 and 3000;

 

 

예제 3) 81년에 입사한 사원의 이름과 입사일을 출력하시오

 

select ename, hiredate

  from emp

  where hiredate between '81/01/01' and '81/12/31';

 

주의

연도 데이터를 검색할 때는 현재 내가 접속한 프로그램에 날짜 형식이 어떻게 되어 있는지 확인하고 검색해야 한다.

 

select *

  from nls_session_parameters;

 

>> nls: national language support

    서양 날짜 형식 : 일/월/년도

    동양 날짜 형식: 년도/월/일

 

between a and b의 경우 a와 b도 포함된 값을 return 한다

 

 

 

like

예제 4) 이름의 첫번째 철자가 S로 싲가하는 사원들의 이름을 출력하시오

 

select ename

  from emp

  where ename like 'S%';

 

 

>> % : wild card

자리에 무엇이 와도, 철자의 수가 몇 개가 되던 관계 없다.

Like 써야 % 와일드 카드로 인식한다. = 쓰면 특수문자 % 인식함

 

 

 

예제 5) 이름의 두번째 철자가 M 사원들의 이름을 출력하시오

 

select ename

  from emp

  where ename like '_M%';

 

>> like 연산자를 사용할 쓰는 키워드 2

% : 자리에 어떤 개가 와도 상관 없다.

_ : 자리에 어떤 와도 관계 없는데 자릿수는 자리여야 한다

 

 

 

 

in

여러 개를 비교할 때 쓰는 연산자

 

예제 6) 직업이 SALESMAN, ANALYST 아닌 사원들의 이름과 직업을 출력하시오

 

select ename, job

  from emp

  where job not in ('SALESMAN', 'ANALYST');

 

 

 

is null

값이 null 인지 체크하는 연산자

 

예제 7) 커미션이 null 아니고 직업이 SALESMAN 사원들의 이름과 월급과 직업과 커미션을 출력하는데 커미션이 높 사원부터 출력하고 컬럼명을 이름, 월급, 직업, 커미션 한글로 출력되게 하시오

 

select ename as "이름", sal as "월급", job as "직업", comm as "커미션"
  from emp
  where comm is not null and job = 'SALESMAN'
  order by comm desc;

실행 순서: from > where > order by > select

 

 

 

반응형