*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
'메모장' 카테고리의 다른 글
[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 |