2021 K-Digital 교육 (한국SW산업협회 주관) 에서 배운 내용을 제멋대로 정리해보는 공간입니다.
모든 오류 지적은 언제나 환영입니다.
모든 자료의 저작권은 허진경 선생님께 있습니다.🎈
SQL 파트부터는 완전기초는 생략하고 기록에 의미가 있는 것들만 남겨둘 예정입니다.
SELECT 열이름 AS 별칭
FROM 테이블 이름 또는 뷰
JOIN 테이블 이름 또는 뷰
ON 조인조건
WHERE 조건
GROUP BY 그룹화할 열
HAVING 그룹조건
ORDER BY 정렬할 열
기초 활용
- 모든 열 선택은 *을 활용
- 중복행 제거는 DISTINCT 활용
- ||를 사용하면 값을 연결해줍니다.
나머지는 그냥 동일값의 범위에 해당하는 행 출력 위해 BETWEEN 연산자 사용
하한값 먼저 명시, 하한가와 상한가 모두 포함
목록에 있는 값인지에 대한 테스트
기본 사용법
SELECT employee_id, first_name FROM employees WHERE manager_id IN(101,102,103);
검색 스트링 값에 대한 와일드 카드 검색
검색조건은 리터럴 문자나 날짜를 포함
%는 문자가 없거나 하나 이상
_는 하나의 문자
기본 사용법
SELECT employee_id, first_name FROM employees WHERE job_id LIKE 'IT%';
순위가 높은 것부터 순서대로
모든 비교 연산자 >> NOT >> AND >> OR
헷갈리기 쉬우니 애초부터 괄호를 잘 활용하자
- initcap, lower, upper : 첫문자 대문자, 소문자, 대문자 변환
- length : 문자열 길이
- substr : 부분문자열 출력
- instr : 찾는 문자 위치 반환
- lpad,rpad : 주어진 자릿수 만큼 왼쪽(오른쪽)에 채움
- ltrim, rtrim, trim : 왼쪽, 오른쪽, 양쪽 공백제거
- replace : 두번째 인수의 문자열을 세번째 인수의 문자열로 대체
메타문자 및 사용법 등은 기타 문서에서 추가 정리 하겠습니다.
자주 사용되는 것만 우선 요약
- ROUND : 소수점 n자리까지 반올림
- TRUNC : 소수점 n자리까지 절삭
- CEIL : 같거나 큰 최소 정수 반환
- FLOOR : 같거나 작은 최대 정수 반환
- ABS : 절댓값
- MOD : 나눈 나머지 반환
날짜에 대해 연산하며, MONTHS_BETWEEN을 제외하고 DATE 타입으로 반환
- MONTHS_BETWEEN : 두 날짜 사이의 월 수 반환
- ADD_MONTHS : 월을 날짜에 더함
- NEXT_DAY : 명시된 날짜로부터 다음 요일에 대한 날짜를 나타냄
사용예) 바로 다음번 월요일- LAST_DAY : 월의 마지막 날짜 출력
데이터 타입 변환 함수 (참고)
- TO_CHAR : 숫자, 날짜를 VARCHAR2 문자 스트림으로 변환
- TO_NUMBER : 숫자를 포함하는 문자 스트링을 숫자로 변환
- TO_DATE : 문자 스트링을 날짜값으로 변환
NVL함수
NVL(expr1, expr2)
- expr1 : NULL값 일 수도 있는 값이나 표현식. NULL이 아니면 해당 값 출력
- expr2 : 목표 변환 값, expr1이 NULL일 경우 출력
NVL2함수
NVL2(expr1, expr2, expr3)
- expr1 : NULL값 일 수도 있는 값이나 표현식.
- expr2 : 목표 변환 값, expr1이 NULL이 아니면 해당 값 출력
- expr3 : 목표 변환 값, expr1이 NULL이 맞으면 해당 값 출력
COALESCE 함수
COALSCE(expr1,.......)
표현식에서 NULL 값이 아닌 최초의 표현식을 나타냄
ex) 고객 DB에 고객 전화번호 출력하고 싶은데 전화번호가 휴대폰, 집전화 등 여러 필드에 저장되어 있다면 그중 NULL 아닌 최초의 표현식을 반환한다는 것