WHERE절

CHM·2022년 3월 11일
0

PostgreSQL

목록 보기
5/20
  • 조건에 만족하는 데이터만 선택하여 출력할 경우 사용

  • 조건식의 일반적 형태 : 대상(컬럼) + 연산자 + 비교대상(상수)

  • 문자열과 날짜 상수의 전달은 항상 홑따옴표(')와 함께 작성

  • 조건절의 문자 상수는 대소를 구분한다.


논리 연산자

  • AND : 나열된 조건 모두 만족
  • OR : 나열된 조건 중 하나 이상 만족
  • NOT : 단일 조건의 결과 부정

EX) STUDENT 테이블에서 키가 170 이상이면서 몸무게가 80이상인 학생의 이름, 키, 몸무게 출력

SELECT NAME, HEIGHTM, WEIGHT
FROM STUDENT
WHERE HEIGNT >= 170 AND WEIGHT >= 80;

산술 연산자

  • +, -, *, / 등의 산술 연산자 표현 가능
  • SELECT, WHERE 뿐 아니라 다른 구문에서도 사용 가능

BETWEEN 연산자

  • BETWEEN A AND B : A 이상, B 이하 사잇값 반환
  • WHERE 절에서만 사용 가능
  • 주의사항
    • 작은 값을 먼저, 큰 값을 나중에
    • 두 값을 모두 포함하는 연산 결과 출력됨

EX) 교수 테이블에서 월급이 500~600사이인 교수 이름과 월급을 출력

SELECT NAME, PAY
FROM PROFESSOR
WHERE PAY BETWEEN 500 AND 600;

IN 연산자

  • IN('A','B','C') : A 또는 B 또는 c 여러 개 동시 출력

EX) 학생 테이블에서 1,2학년 학생 중 키가 160에서 170 사이에 있는 학생의 이름, 학년, 키, 몸무게와 함께 표준 몸무게를 계산하여 함께 출력하시오.

SELECT NAME, GRADE, HEIGHT, WEIGHT, (HEIGHT - 100) * 0.9 AS "표준몸무게"
FROM STUDENT
WHERE GRADE IN(1,2) AND HEIGTH BETWEEN 160 AND 170;

LIKE 연산자

  • 정확한 일치가 아닌 패턴에 만족하는 행 찾기
  • 사용 방법
    • 이름이 A로 시작하는 직원 모두 출력
      : NAME LIKE 'A%';
    • 이름이 A로 시작하는 4자리의 직원 모두 출력
      : NAME LIKE 'A___';
    • 중간에 이름이 O가 포함된 직원 모두 출력
      : NAME LIKE '%O%';
    • 이름이 E로 끝나는 직원 모두 출력
      : NAME LIKE '%E';
    • 두번째 이름이 E인 직원 모두 출력
      : NAME LIKE '_E%';

IS NULL, IS NOT NULL 연산자

  • NULL : 0또는 SPACE값과는 다른, 아직 지정되지 않은 상태의 데이터
  • NULL을 포함한 산술 연산의 결과 NULL 리턴
  • NULL을 포함한 데이터의 조건은 IS NULL/IS NOT NULL로 전달

0개의 댓글

관련 채용 정보