메모장 / / 2022. 5. 12.

[SQLD] 2-1-5. Where 절

728x90
반응형

*WHERE 절

-원하는 자료만을 검색하기 위해 WHERE절을 이용하여 자료를 제한

-WHERE 절에 조건이 없는 FTS(Full Table Scan) 문장은 SQL튜닝 1차 검토 대상

(FTS가 무조건 나쁜건은 아님, 병렬 처리 등을 이용해 유용하게 사용하는 경우도 많음)

 

*연산자 종류

비교연산자 : = , > , >= , < , <=

SQL연산자 : Between a AND b , In(list) , Is Null , Like '비교문자열'

논리연산자 : AND, OR, NOT

부정비교연산자 : != , ^= , <> , NOT칼럼명= , NOT칼럼명 >

부정SQL연산자 : NOT Between a AND b , NOT In(list) , NOT Is Null

 

*문자 유형간의 비교 방법

 

<비교 연산자의 양쪽이 모두 CHAR 타입인 경우>

-길이가 서로 다른 CHAR이면 작은 쪽에 SPACE를 추가하여 길이를 같게 한 후 비교

-서로 다른 문자가 나올때 까지 비교

-달라진 첫 번째 문자의 값에 따라 크기를 결정

-SPACE의 수만 다르다면 서로 같은 값으로 결정

 

<비교 연산자의 양쪽이 모두 VARCHAR 타입인 경우 >

-서로 다른 문자가 나올 떄까지 비교

-길이가 다르다면 짧은 쪽이 끝날 때까지만 비교한 후 길이가 긴 것이 크다고 판단

-길이가 같고 다른 것이 없다면 같다고 판단

-VARCHAR는 NOT NULL까지 길이를 말함

 

<상수값과 비교할 경우>

-상수 쪽을 변수 타입과 동일하게 바꾸고 비교

-변수 쪽이 CHAR 타입이면 상수도 CHAR 타입으로 적용

 

*연산자의 우선순위

() -> NOT -> 비교연산자,SQL비교연산자 -> AND -> OR

 

 

 

 

 

 

 

 

 

728x90
반응형

'메모장' 카테고리의 다른 글

[SQLD] 개념요약 - 과목 1데이터 모델링의 이해  (0) 2022.05.19
[SQLD] 2-1-8. ORDER BY 절  (0) 2022.05.17
[SQLD] 2-1-7. Group By / Having 절  (0) 2022.05.17
[SQLD] 2-1-6. 함수  (0) 2022.05.16
[SQLD] 2-1-4. TCL  (0) 2022.05.12
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유