Meme's IT

[SQLD] WHERE절과 연산자 본문

공부/SQLD

[SQLD] WHERE절과 연산자

Memez 2023. 10. 30. 19:32

WHERE절의 기본 형태

SELECT 칼럼명 FROM 테이블명 WHERE 조건절;

# 연산자들

🔶 비교 연산자:

=, >, >=, <, <=

비교 대상 데이터 타입에 따라 자동으로 형 변환이 되는 경우가 있다

 

🔶 부정 비교 연산자

'NOT 칼럼명 비교연산자'와 같은 역할

!=, ^=, <>

 

🔶 SQL 연산자

입력값을 비교하여 논리값을 출력함

  • BETWEEN A AND B: A와 B의 사잇값
  • IN: 리스트 내의 값
  • LIKE '문자열': 문자열의 형태와 일치하는 값
더보기
  • '%'는 0개 이상의 문자
  • '_'는 1개 이상의 단일 문자
  • IS NULL: NULL은 어떤 상황에서도 등호로는 판단 불가
  • NOT BETWEEN A AND B, NOT IN, IS NOT NULL등, 모두 NOT을 붙여서 사용 가능

🔶 논리 연산자: AND, OR, NOT

 

연산자들의 우선순위

: 부정 연산자 > 비교 연산자 > 논리 연산자

1) 괄호

2) NOT

3) 비교 연산자 or SQL 연산자

4) AND

5) OR

 

문자열끼리는 어떻게 비교하나요?

  • CHAR vs CHAR: 처음으론 나오는 서로 다른 문자열 값으로 비교, 길이가 다르면 공백을 추가해서 길이 맞춰서 비교
  • CHAR vs VARCHAR: 처음으론 나오는 서로 다른 문자열 값으로 비교, 길이가 다르면 긴 녀석이 더 큼(VARCHAR의 공백 = 문자로 침)
  • CHAR vs 상수: 상수를 변수 타입으로 바꿔서 비교

# 부분 범위 처리

  • ROWNUM(Oracle): SQL 처리 결과 집합의 각 행에 임시로 부여되는 번호, 조건절 내에서 행의 개수를 제한하는 목적으로 사용
  • TOP(SQL Server): 출력 행의 수 제한 함수, TOP (N)으로 N개의 행 출력, 개수 대신 비율로도 제한 가능
  • ORDER BY절이 없으면 ROWNUM과 TOP의 기능이 똑같음

 

'공부 > SQLD' 카테고리의 다른 글

[SQLD] ORDER BY  (0) 2023.10.31
[SQLD] 집계함수(GROUP BY, HAVING 등)  (0) 2023.10.31
[SQLD] TCL(Transaction Control Language)  (0) 2023.10.30
[SQLD] DML(Data Manipulation Language)  (0) 2023.10.30
[SQLD] DDL(Data Definition Language)  (0) 2023.10.30