Yeonnnnny

[2과목] 2-4. where 절 본문

SQLD

[2과목] 2-4. where 절

yeonny_do 2024. 3. 5. 19:49

■ where절

  • 테이블의 데이터 중 원하는 조건에 맞는 데이터만 조회하고 싶을 경우 사용
  • 여러 조건 동시 전달 가능 (AND와 OR 사용)
  • NULL 조회 시 IS NULL / IS NOT NULL 연산자 사용(=연산자로 조회 불가)
  • 연산자를 사용하여 다양한 표현이 가능
  • 조건 전달 시 비교 대상의 데이터 타입이 일치하는 것이 좋음
  • ex) EMP 테이블의 부서번호 컬럼의 데이터 타입은 숫자인데 문자상수로 비교 시 성능 문제 발생할 수 있음

 

  • ** 주의 사항
    • 문자나 날짜 상수 표현 시 반드시 홑따옴표 사용 (다른 절에서도 동일 적용)
    • ORACLE은 문자 상수의 경우 대소문자 구분
    • MSSQL은 기본적으로 문자상수의 대소문자를 구분하지 않음

 

 

 IN 연산자

  • 포함연산자로 여러 상수와 일치하는 조건 전달 시 사용
  • 상수를 괄호로 묶어서 동시에 전달(문자와 날짜 상수의 경우 반드시 홑따옴표와 함께)
  • IN 연산자를 사용하면 조건 대상과 연산자의 반복을 줄일 수 있음. (이때 () 안의 상수도 문자상수와 날짜상수는 홑따옴표 필수)

 

 

 BETWEEN  A  AND  B 연산자

  • A보다 크거나 같고 B보다 작거나 같은 조건을 만족
  • A와 B에는 범위로 묶을 상수값 전달 (문자, 숫자, 날짜 모두 전달 가능)
  • 반드시 A가 B보다 작아야 함 (반대로 작성 시 아무것도 출력되지 X)

 

 

 LIKE 연산자

  • 정확하게 일치하지 않아도 되는 패턴 조건 전달 시 사용
  • %와 _와 함께 사용됨
    • % : 자리수 제한 없는 '모든'이라는 의미
    • _ : _하나 당 한 자리수를 의미하며 모든 값을 표현함
  • ex) ENAME LIKE 'S%' : 이름이 S로 시작하는..

 

 

 NOT 연산자

  • 조건 결과의 반대집합. 즉, 여집합을 출력하는 연산자
  • NOT 뒤에 오는 연산 결과의 반대 집합 출력
  • 주로 NOT IN, NOT BETWEEN A AND B, NOT LIKE, NOT NULL로 사용

 

'SQLD' 카테고리의 다른 글

[2과목] 2-5. ORDER BY 절  (0) 2024.03.06
[2과목] 2-5. GROUP BY 절  (0) 2024.03.05
[2과목] 2-3. 함수  (0) 2024.03.05
[2과목] 2-2. SELECT문  (1) 2024.03.05
[2과목] 2-1. 관계형 데이터 베이스 개요  (0) 2024.03.05