본문 바로가기

논리연산자 기초 ( AND, OR , NOT, BETWEEN , IN , LIKE ) 본문

BF 2024/SQL

논리연산자 기초 ( AND, OR , NOT, BETWEEN , IN , LIKE )

jaegomhoji 2022. 3. 15. 09:27

* 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 '%,%' -> 콤마가 포함되어 있는 경우를 조회하는 방법 

Comments