[SQLD] #7. SQL 기본 - WHERE절/함수

김정인·2021년 1월 26일
0

SQLD

목록 보기
7/16

WHERE절

💡 WHERE절

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

SELECT [DISTINCT/ALL] 칼럼명 [ALIAS명]
FROM 테이블명
WHERE 조건식;

조건식은

  • 칼럼(Column)명 (보통 조건식의 좌측에 위치)
  • 비교 연산자
  • 문자, 숫자, 표현식 (보통 조건식의 우측에 위치)
  • 비교 칼럼명 (JOIN 사용시)

로 구성됨

💡 연산자의 종류

  • 비교 연산자 : =, >, >=, <, <=
  • SQL 연산자 : BETWEEN a AND b, IN (list), LIKE '비교문자열‘, IS NULL
  • 논리 연산자 : AND, OR, NOT
  • 부정 비교 연산자 : !=, ^=, <>, NOT 칼럼명 =, NOT 칼럼명 >
  • 부정 SQL 연산자 : NOT BETWEEN a AND b, NOT IN (list), IS NOT NULL

연산자 우선순위: ()->NOT->비교연산자->AND->OR

💡 ROWNUM, TOP

  • ROWNUM (Oracle): SQL 처리 결과 집합의 각 행에 임시로 부여되는 번호, 조건절 내에서 행의 개수를 제한하는 목적으로 사용함
    SELECT PLAYER_NAME FROM PLAYER WHERE ROWNUM <= N;
  • TOP (SQL Server): 출력 행의 수 제한 함수, TOP (N)로 N개 행 출력, 개수 대신 비율로도 제한 가능
    SELECT TOP(N) PLAYER_NAME FROM PLAYER;

    ORDER BY절이 없으면 ROWNUM과 TOP의 기능이 같음

함수 FUNCTION

    SQL을 더욱 강력하게 해주고 데이터 값을 간편하게 조작하는데 사용.

  • 내장 함수(Built-In Function): 벤더에서 제공하는 함수
  • 사용자 정의 함수(User Defined Function): 사용자가 정의할 수 있는 함수

    아래 나오는 함수는 내장 함수

💡 문자열 함수

문자열 함수설명
LOWER(문자열)문자열의 알파벳 문자를 소문자로 변경
UPPER(문자열)문자열의 알파벳 문자를 대문자로 변경
ASCII(문자)문자나 숫자를 ASCII 코드 번호로 변환
CHR/CHAR(ASCII 번호)ASCII 코드 번호를을 문자나 숫자로 변환
CONCAT(문자열1, 문자열2)문자열1번과 문자열2번 연결
SUBSTR/SUBSTRING(문자열, m, n)- 문자열에서 m번째 위치부터 n개의 문자 길이에 해당하는 문자를 돌려줌
- n 생략 시 마지막 문자까지
LENGTH/LEN(문자열)문자열의 개수를 숫자값으로 돌려줌
LTRIM(문자열, 지정문자)- 문자열의 왼쪽부터 확인해 지정된 문자가 나타나면 해당 문자를 삭제
- 지정된 문자를 생략하면 공백을 삭제
RTIM(문자열, 지정문자)- 문자열의 오른쪽부터 확인해 지정된 문자가 나타나면 해당 문자를 삭제
- 지정된 문자를 생략하면 공백을 삭제
TRIM(문자열, 지정된 문자)- 왼쪽 및 오른쪽에서 지정된 문자 삭제
- 지정된 문자를 생략하면 공백을 삭제한다.

💡 숫자형 함수

숫자형 함수설명
ABS(숫자)절대값 반환
SIGN(숫자)양수, 0, 음수 판별 (부호)
MOD(숫자1, 숫자2)숫자1을 숫자2로 나누어 나머지 값 반환 ( % )
CEIL/CEILING(숫자)크거나 같은 최소 정수 반환 (정수 값으로 올림)
FLOOR(숫자)작거나 같은 최대 정수 반환 (정수 값으로 버림)
ROUND(숫자[, m])소수점 m자리에서 반올림 (생략시 0)
TRUNC(숫자[, m])소수 m자리 뒤로 잘라서 버림 (생략시 0)

💡 날짜형 함수

날짜형 함수설명
SYSDATE/GETDATE()현재 날짜와 시각 반환
EXTRACT('YEAR''MONTH'
TO_NUMBER(TO_CHAR(d,'YYYY')) / YEAR(d)위와 같은 기능

💡 NULL 관련 함수

NULL 관련 함수설명
NVL/ISNULL(판단대상, 대체값)판단대상의 값이 NULL이면 대체값 출력(판단대상과 대체값 데이터 타입 같아야 함)
NULLIF(판단대상, 비교대상)판단대상 = 비교대상 이면 NULL, 아닐 경우 판단대상 리턴
COALESCE(표현식1, 표현식2, ...)NULL이 아닌 최초의 표현식 리턴. 없으면 NULL 리턴

데이터 전문가 지식포털 참고

0개의 댓글