-
[SQL] where 절 연산자Database 2023. 7. 13. 00:04
select [distinct|all] 컬럼명 [alias] from 테이블명 where 조건식
where절은 from절 다음에 위치하며 조건식은 아래 내용으로 구성된다.
- 컬럼명 (보통 조건식의 좌측에 위치)
- 비교연산자
- 문자, 숫자, 표현식 (보통 조건식의 우측에 위치)
- 비교 컬럼명 (join 사용 시)
[연산자의 종류]
구분 연산자 연산자의 의미 비교 연산자 = 같다 > 보다 크다 >= 보다 크거나 같다 < 보다 작다 <= 보다 작거나 같다 SQL 연산자 between a and b a와 b의 값 사이의 값을 갖는다(a,b 값 포함) in (list) list에 있는 값 중에서 어느 하나라도 일치한다 like '비교 문자열' 비교문자열과 형태가 일치한다(%,_ 사용) is null null값을 가진다 논리 연산자 and 앞에 있는 조건과 뒤에 오는 조건이 ture이 되면 결과도 ture가 된다
즉, 앞의 조건과 뒤의 조건 동시에 만족해야 한다.or 앞에 있는 조건이 ture거나 뒤에 오는 조건이 ture이 되면 결과도 ture가 된다
즉, 앞뒤의 조건 중 하나만 ture면 된다.~ not 뒤에 오는 조건에 반대되는 결과를 되돌려 준다 부정 비교 연산자 != 같지 않다 ^= 같지 않다 <> 같지 않다(ISO표준, 모든 운영체제에서 사용 가능) 부정 SQL 연산자 not 컬럼명 = ~와 같지 않다 not 컬럼명 > ~보다 크지 않다 between a and b a와 b의 값 사이에 있지 않다(a,b 값 포함하지 않는다) not in (list) list값과 일치하지 않는다 is not null null값을 갖지 않는다 [연산자 우선 순위]
연산자 우선 순위 설명 1 괄호 () 2 비교 연산자, SQL연산자 3 NOT연산자 4 AND 5 OR /*예시*/
SQL> create table t1(c1 int,c2 int,c3 char(5)); Table created. SQL> insert into t1 values(1,2,'abc'); 1 row created. SQL> insert into t1 values(2,2,'bcd'); 1 row created. SQL> select * from t1 where c1=1; C1 C2 C3 ---------- ---------- ----- 1 2 abc SQL> select * from t1 where c1<c2; C1 C2 C3 ---------- ---------- ----- 1 2 abc SQL> select * from t1 where c3 like '%b%'; C1 C2 C3 ---------- ---------- ----- 1 2 abc 2 2 bcd SQL> select * from t1 where c1 between 1 and 2 and c2 !=3; C1 C2 C3 ---------- ---------- ----- 1 2 abc 2 2 bcd SQL> select * from t1 where c1 between 3 and 4 or c2 !=3; C1 C2 C3 ---------- ---------- ----- 1 2 abc 2 2 bcd SQL> select * from t1 where c1 = 1 and c2 is null; no rows selected SQL> select * from t1 where c1 = 1 and c2 is not null; C1 C2 C3 ---------- ---------- ----- 1 2 abc'Database' 카테고리의 다른 글
[SQL] 예약어(keyword) 조회 (1) 2023.11.27 [SQL] bind 변수 (0) 2023.11.21 [SQL] 롤포워드/롤백 (0) 2023.07.09 [SQL] 오라클 출력 포멧 맞추기 (0) 2023.07.09 [SQL] SQL 처리과정 (0) 2023.07.06