기타 비교연산자
비교연산자 기본
부등호 연산자 >,<,>=,<=,=,
같지 않다 의 연산자 : !=,<> ^=
(1) between and
- between .. and 는 그 사이의 값을 구해라
- not between .. and 는 그 사이의 값이 아닌 값을 구해라
- 같다(=)가 포함되어 있다는 뜻!
예제 : 20 세 이상 29 세 이하 (즉 : 20 대 구해라 )
age ≥20 and age ≤29 = between 20 and 29
(2) like / not like (특정단어로 시작하거나, 끝나거나 ... 등등 )
- % : wild card : 이자리에는 무엇이 와도 관계 없고 , 몇개여도 관계가 없다. ->즉 이름 첫 글자가 s 이고 뒤에는 무엇이 얼마나 길게 와도 관계 없다.
- _ : 이자리에 무엇이 와도 관계 없지만, 자릿수는 한자릿수 이다.
- like 연산자를 사용했을때만 % 는 특수문자가 아닌 연산자로서 사용한다.
Like 연산자는 따로 (괄호) 는 사용 하지 않는다
만약 이메일 데이터를 뽑는데 데이터에 소문자와 대문자가 두개 다 존재 할 수 있으니
코딩 할때도 두개를 다 써넣어주면 된다.
select ename, email
from emp14
where email like '%.net' or email like '%.NET';
or 절 쓸때 주의할 점은 컬럼명을 다시 작성하고 다시 like 를 작성해야한다는 점이다.
여러가지를 뽑을 때에는 where 절에 쿼리명 까지 일일히 다 입력해야한다..( 중복된 쿼리라고 할 지라도)
예제 : 이름이 s 로 시작하는 사람들의 이름을 출력하시오
select ename
from emp
where ename like 's%';
-> 해석해보면 s 이하로는 어떤 문자가 와도 상관이없다~ (%의 의미)
(3) is null / is not null
null 이란 ? 0 도아닌 그냥 **데이터가 아예 없는 상태 (null) 로 출력 된다. : 알 수 없는 값
select ename, comm
from emp
where comm = null ; (x) —→ 오류난다. = 을 쓰는게 아닌 is 를 써주어야한다.
where comm is null ; (o) —> 커미션이 널인 것만 출력해 주어라
->comm 이 출력 될 수 있도록 하기 위해서는 is null 사용 해 준다.
그냥 null 만 입력해서 코딩 실행하게 되면 그냥 null 도 나오지 않는 빈칸이 출력 됨 (?) 확인필요
(4) in / not in 연산자 (특정데이터를 뽑아내어 출력하거나, 출력에서 제외하는것 )
in 은 여러개의 리스트 값을 검색할때 쓰인다.
in 을 사용하지않고 = 으로도 쓸 수 있으나 or 을 중간중간 써 주어야 한다.
-> (단점, 너무 길어짐 )
select ename, sal, job
from emp
where job in ( 'SALESMAN', 'ANALYST', 'MANAGER');
or
where job = 'SALESNAM' or job = 'ANALYST' or job = 'MANAGER' ;
주의 할 점은 job in 후에 (괄호로) 묶어 주어야 한다는 점이다.
특정한 데이터를 제외하고 출력하려면 not in 연산문을 사용한다.
문제 : 나이가 27, 30, 31 세가 아닌 사람들
select ename, age
form emp14
where age not in (27, 30, 31);
연산자들 끼리 이어 붙여 주는 and, or, not (논리 연산자)
AND
직업이 salesman 이면서 / 월급이 1200 이상인 사람들을 출력하기 위해서는
where 절에 검색조건을 입력해 주면 되는데, 조건이 두개 이므로 AND 로 연결하여 쿼리 작성한다
where job = 'SALESMAN' and sal ≥ 1200;
OR
where telecom = 'sk' or telecom = 'SK' or telecom = 'skt' or telecom = 'skT'
—>이런식으로 하나하나 다 입력 해주어야 한다.
NOT
and 연산자의 진리 연산표
AND | TRUE | FLASE | NULL |
TURE | TRUE | FALSE | NULL |
FALSE | FALSE | FALSE | FLASE |
NULL | NULL | FALSE | NULL |
OR 연산자의 진리 연산표
OR | TRUE | FALSE | NULL |
TRUE | TRUE | TRUE | TRUE |
FALSE | TRUE | FLASE | NULL |
NULL | TRUE | NULL | NULL |
not 연산자의 진리연산표
NOT | TRUE | FALSE | NULL |
TRUE | FLASE | TRUE | NULL |
'Oracle > SQL' 카테고리의 다른 글
SQL 단일행 함수 - 문자함수 Instr (특정철자의 위치 출력) (0) | 2021.11.19 |
---|---|
SQL 단일행 함수 - 문자함수 Length (문자열길이출력) (0) | 2021.11.19 |
SQL 단일행 함수 - 문자함수 Substr( 문자에서 특정단어 or 철자 추출 ) (0) | 2021.11.19 |
SQL 단일행 함수 - 문자함수 upper,lower,initcap (대소문자) (0) | 2021.11.19 |
SQL Select문, (*), As, || 연결연산자, "" 더블쿼테이션 마크 의사용 (0) | 2021.11.19 |