/ LECTURE

SQL - Function

이 페이지는 다음에 대한 공부 기록입니다

JAVA(자바), Python(파이썬) 기반의

AI 활용 응용 소프트웨어 개발자 양성 과정

2021.11.10. ~ 2022.05.18.

찾으시는 정보가 있으시다면
주제별reference를 이용하시거나
우측 상단에 있는 검색기능을 이용해주세요

44일차 수업

정렬

SELECT 명령어를 쓰면 검색된 결과가 출력, 출력 순서는 출력할 때마다 다를 수도 있음

SELECT 문장 맨 마지막에 “ORDER BY 정렬 기준 컬럼명 ASC DESC;”
  • ASC : 오름차순, 기본값, 작은값에서 큰값 순으로 출력, NULL을 맨 마지막으로

  • DESC : 필요 시 작성 필수, 큰값에서 작은 값 순으로 출력

정렬 기준은 여러개 가능, 여러개 쓸 경우에 정렬 순서가 중요!

SELECT * FROM WHERE 1=1 ORDER BY ename DESC;

DISTINCT

출력 당시 중복인 데이터를 지우고 싶을 때,

작성 위치는 SELECT 다음에 작성, WHERE 에는 작성 못함

DISTINCT 뒤에 컬럼을 여러개 작성하면, 작성된 컬럼의 내용이 모두 같은 경우에만 중복제거

SELECT DISTINCT deptno FROM emp ORDER BY deptno;

AS

별칭, 컬럼명이 복잡해 질 때 사용, “” 감싸는 것을 권장, 공백이나 특수문자는 필수로

SELECT job + deptno AS “직업 부서” FROM emp;

연결 연산자

|| : 기존 컬럼의 값에 문자열을 추가하고 싶을 때 사용

숫자형 함수

ABS(n) : 절대값

FLOOR(n) : 소수점 내림

ROUND(n,i) : 숫자 n 을 소수점 i자리에서 반올림

TRUNC(n,i) : 숫자 n을 소수점 i자리에서 버림

MOD(n/i) : 숫자 n을 i로 나누고 남은 나머지, i가 음수일 경우 0 앞쪽 대상

SIGN(n) : 양수(1) 음수(-1) 0 을 구분해주는 함수

CEIL(n) : 소수점 올림

POWER(n) : 제곱

SORT(n) : 제곱근

dual

산술연산, 가상의 컬럼에 값을 한번만 출력하고 싶을 때 사용하는 가상 테이블

문자형 함수

LOWER(str), UPPER(str), INITCAP(str) : 소문자, 대문자, 첫글자 대문자

CONCAT(str1, str2) : 문자열 합치기

SUBSTR(str,i,n) : str을 i번째부터 n개를 선택

INSTR(str,ch,n,i) : str 문자열 중에 ch 문자를 n번째 위치부터 i번째인 데이터 출력

LENGTH(str) : 문자열 길이

LPAD(str, n, ch), RPAD(str, n, ch) : 기존 값 포함해서 n자리수만큼 오른쪽 또는 왼쪽을 ch로 채운다

TRIM / LTRIM / RTRIM : 문자의 공백을 제거

TRANSLATE(str, str1,str2) : str 담긴 문자열 중에 str1 에 해당하는 글자를 str2로 대체

  • 글자 하나하나 적용

REPLACE(str, str1, str2) : str 담긴 문자열 중에 str1에 해당하는 글자를 str2로 대체

  • 문자열 전체로 적용

날짜형 함수

SYSDATE : 실제 컴퓨터의 시간을 가져오는 키워드

  • 다른 표현의 키워드들 : CURRENT_DATE, SYSTIMESTAMP, CURRENT_TIMESTAMP

DATE와 숫자 연산의 결과는 DATE 라는 날짜 자료형으로 출력

DATE - DATE의 연산 결과는 숫자로 출력

DATE + 숫자/24 는 날짜 + 시간

MONTHS_BETWEEN(date1,date2) : 두 날짜의 월 수를 계산

ADD_MONTHS(date, n) : 날짜에 월을 더하기

NEXT_DAY(date, n) : 날짜를 기준으로 다음 해당 요일을 찾아줌(일요일 시작 기준 1~7)

LAST_DAY(date) : 해당 월의 마지막 날

ROUND() : 날짜를 반올림

TRUNC() : 날짜를 버림

자료형 변환 함수

TO_CHAR(값), TO_NUMBER(), TO_DATE()

TO_DATE() : 날짜 관련해서 굉장히 유연하게 처리해줌

조건 함수

DECODE : 일치 연산자, 케이스가 같냐 다르냐 판단

DECODE(조건문, 케이스1, 출력문 1, 케이스2, 출력문2,…디폴트 출력문)

CASE WHEN ~ THEN : 다른 연산자 사용이 가능

CASE 조건문 WHEN 케이스1 THEN 출력문1
        WHEN 케이스2 THEN 출력문 2
        ELSE 디폴트 출력문
END