[SQL] SQL 기초

이건희·2021년 8월 24일

KOSA_log

목록 보기
7/8

2021 K-Digital 교육 (한국SW산업협회 주관) 에서 배운 내용을 제멋대로 정리해보는 공간입니다.
모든 오류 지적은 언제나 환영입니다.

모든 자료의 저작권은 허진경 선생님께 있습니다.🎈

SQL 파트부터는 완전기초는 생략하고 기록에 의미가 있는 것들만 남겨둘 예정입니다.


SQL 기초

🎈 Select문의 기초

SELECT 열이름 AS 별칭
FROM 테이블 이름 또는 뷰
JOIN 테이블 이름 또는 뷰
ON 조인조건
WHERE 조건
GROUP BY 그룹화할 열
HAVING 그룹조건
ORDER BY 정렬할 열

기초 활용

  • 모든 열 선택은 *을 활용
  • 중복행 제거는 DISTINCT 활용
  • ||를 사용하면 값을 연결해줍니다.

🤞 연산자

비교연산자

  • 같다 : =
  • 같지 않다 : <>
    나머지는 그냥 동일

BETWEEN 연산자

값의 범위에 해당하는 행 출력 위해 BETWEEN 연산자 사용
하한값 먼저 명시, 하한가와 상한가 모두 포함

IN 연산자

목록에 있는 값인지에 대한 테스트

기본 사용법

SELECT employee_id, first_name
FROM employees
WHERE manager_id IN(101,102,103);

🙌 LIKE 연산자

검색 스트링 값에 대한 와일드 카드 검색
검색조건은 리터럴 문자나 날짜를 포함
%는 문자가 없거나 하나 이상
_는 하나의 문자

기본 사용법

SELECT employee_id, first_name
FROM employees
WHERE job_id LIKE 'IT%';

논리연산자

  • AND는 양쪽 참일때, OR는 한쪽 참일 때 TRUE 반환
  • NOT은 뒤의 조건에 반대되는 결과 반환
    NOT은 BETWEEN, LIKE, NULL 연산자와 연계사용 가능

연산자 우선순위

순위가 높은 것부터 순서대로

모든 비교 연산자 >> NOT >> AND >> OR

헷갈리기 쉬우니 애초부터 괄호를 잘 활용하자

📌 SQL 함수

단일행 함수

문자열 함수

  • initcap, lower, upper : 첫문자 대문자, 소문자, 대문자 변환
  • length : 문자열 길이
  • substr : 부분문자열 출력
  • instr : 찾는 문자 위치 반환
  • lpad,rpad : 주어진 자릿수 만큼 왼쪽(오른쪽)에 채움
  • ltrim, rtrim, trim : 왼쪽, 오른쪽, 양쪽 공백제거
  • replace : 두번째 인수의 문자열을 세번째 인수의 문자열로 대체

❗️정규표현식 함수 (오라클제공)

  • REGEXP_LIKE : 정규표현식 사용 패턴 일치 문자열 행 찾기
  • REGEXP_INSTR : 지정 정규표현식 만족부의 최초위치 반환
  • REGEXP_SUBSTR : 지정 정규표현식 만족 부분 문자열 반환
  • REGEXP_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 : 문자 스트링을 날짜값으로 변환

📌📌 NULL 치환 함수

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 아닌 최초의 표현식을 반환한다는 것

profile
데이터분석에 관심있는 글쟁이 입니다. 재치있는 사람을 꿈꿉니다.

0개의 댓글