논리연산자 기초 ( AND, OR , NOT, BETWEEN , IN , LIKE ) 본문
* AND : 조건을 모두 만족하는 경우 참
* OR : 하나의 조건이라도 만족하는 경우 참
* NOT : 조건을 만족하지 않는 경우 참 -> WHERE NOT ( age > 30 ) -> NOT 을 조건절 앞에 사용
* BETWEEN : 조건값이 범위 사이에 있으면 참 -> column BETWEEN value1 AND value2
* IN : 조건값이 목록에 있으면 참 -> where column IN ('val') -> IN (괄호를 꼭 쳐주지 않으면 sytnax error 발생 )
* LIKE : 조건값이 패턴에 맞으면 참 -> where column LIKE pattern ->
* and 조건 예제
* 예제 1 ) and or 을 섞었을 경우 and가 우선순위가 높다. 굳이 괄호가 필요는 없다
** 습관적으로 우선 조건에 괄호를 거는 연습이 필요하다
where ( age >= 40 and job_title = ' 프로' ) or ( age < = 40 and job_title = '실업' )
* OR 조건 , 여기서 괄호를 잘 구분하지 않으면 agency = 'Ebonite' and age < 50 으로 잘못 작성할 수 있다.
* Not 예제
소속팀이 진승이면서 50세 이상이 아니거나, 프로 소속 선수이면서 소속팀이 진승이 아닌 데이터를 검색해보시오
* Between val1 and val2
* not column between val1 and val2
* IN
where column in ( val1, val2 )
where not column in ( val1, val2 )
* LIKE 'AA%' -> AA로 시작하는 패턴을 검색 , '%AA' AA로 끝나는 패턴을 검색 , '%AA%' 처음 중간 끝 모두 AA가 존재하는 패턴
* % -> 어떤 문자가 와도 상관없다
* LIKE _ 번째 글자가 ~인 자료 검색 -> where name like '_종%'
-> 몇 번째는 _ 로 표현하고 나머지 조건은 어떤 문자가와도 상관 없는 % 로 밝힌다
* LIKE '_ _ _ %' 이면 최소 세 글자 이상인 자료를 검색
* 여러개인 조건 검색 시 where column like '%,%' -> 콤마가 포함되어 있는 경우를 조회하는 방법
'BF 2024 > SQL' 카테고리의 다른 글
Concat , alias , distinct, limit (0) | 2022.03.15 |
---|---|
Join ( inner , left, right , full outer , self ) (0) | 2022.03.15 |
비교연산자 comparison operators (0) | 2022.03.14 |
Order by ( col asc | desc ) (0) | 2022.03.14 |
DML , 데이터 조작어 ( Select , Insert , < Update, Delete > ) (0) | 2022.03.14 |