728x90

# SQL (Structure Query Language, 구조적 질의 언어) : Database에 있는 데이터를 엑세스하고 조작하는 언어

1. Query (질의어) ~> select문 6가지 절

2. DML (Data Mnipulation Language) ~> insert, update, delete, merge

3. DDL (Data Definition Language) ~> create, alter, drop, truncate, rename

4. DCL (Data Control Language) ~> grant, revoke

5. TCL (Transaction Control Language ) ~> commit, rollback, savepoint

 

# emp 테이블의 컬럼명

empno : 사원번호

ename : 사원이름

sal : 월급

job : 직업

comm : 커미션

hiredate : 입사일

deptno : 부서번호

mgr : 관리자의 사원번호

 

# select문 : 데이터 액세스 (검색) ★ 제일 중요한 SQL

select ~> 검색해라

*       ~> 모든 컬럼 전부

from  ~> 어느 테이블로부터 결과를 볼지

;        ~> 앞의 문장을 실행해라

where 절에 검색할 조건을 명시

as      다음에 컬럼 별칭을 사용할 수 있다 - 컬럼명이 별칭으로 출력됨 (안 써주면 컬럼명은 sal * 12로 나옴)

group by ~> 그룹화             // null 값 무시

    where 절에는 group 함수로 조건을 줄 수 없다

    group 함수로 조건을 주려면 having절 사용

order by  ~> 데이터 정렬하는 절 ( asc / desc )

문자 혹은 날자를 쓸 때는 양쪽에 싱글 쿼테이션 마크를 사용해야 한다 // 이름이 대문자면 대문자로만 사용해야 함

 

# 연산자

1. 산술 연산자 : * / + -

2. 비교 연산자 : > < >= <= = != <> ^=            // !=, <>, ^= : 같지 않거나

3. 논리 연산자 : and or not

4. 기타 비교 연산자

  1) between A and B ( A에서 B 사이 )

  2) like ( 주어진 문자열이 지정된 패턴과 일치하는지 여부 확인 )

      % ~> wild card : 문자가 0개 이상인 문자열

      _ ~> 단일 문자

  3) in : 여러 값을 지정하여 비교할 때 ( =는 하나만 비교, 반대의 값을 얻고 싶을 때는 not in )

  4) is ( not ) null : null ~> 데이터가 없는 상태 or 알 수 없는 값 ( unknown ) / 비교 불가

 

# 함수

1. 단일행 함수

- 문자 : upper(대문자), lower(소문자), initcap(첫 철자만 대문자)

   substr(잘라냄), instr(포함하여 출력), replace(대신하여 출력)

   lpad(왼쪽에 채우기), rpad(오른쪽에 채우기), trim(양쪽 공백 무시)

- 숫자 : round(반올림), trunc(자르기-내림), mod(나눈 나머지 값 출력)

- 날짜 : sysdate, months_between(날짜와 날짜 사이의 개월 수), add_months(날짜에 개월 수를 더한 날짜)

  next_day(앞으로 돌아올 요일의 날짜), last_day(해당 날짜가 있는 달의 마지막 날짜)

* 날짜 포맷 년 : RRRR, RR, YYYY, YY 월 : MM, MON 일 : DD
시 : HH, HH24 분 : MI 초 : SS 요일 : DAY, D

- 변환 : to_char(문자로 형변환), to_number(숫자로 형변환), to_date(날짜로 형변환)

   data type - 문자형(ename, job 컬럼들), 숫자형(sal, deptno 컬럼들), 날짜형(hiredate 컬럼)

- 일반 : nvl(null값 대체), decode(if then else), case(decode, 부등호 비교도 가능)

   decode(expr, search1, result1, search2, result2, ..., default_result) // 등호 비교만

   case // 등호 비교, 부등호 비교 가능

 

2. 복수행 함수 ( = ★group 함수 )

- max : 최대값

- min : 최소값

- avg : 평균값

- sum : 합계

- count : 건수를 세는 함수

 

Tip. 깔끔하게 나오게 하려면 라인이랑 페이지를 조절해야 함

show lines            // 테이블 가로 사이즈 확인

set lines 5000        // 테이블의 가로 사이즈 조절

set pages 4000        // 테이블의 세로 사이즈 조절

Tip. 철자를 틀렸을 때 문자 ed를 쓰고 엔터를 치면 방금 작성한 SQL의 메모장이 열림 -> 수정 가능, 저장 후 / 엔터

 

참고: partition by

http://blog.naver.com/dirgh1234/220657322746

 

대학 다닐 때 정리했던 것 혹시나 도움이 될까 싶어 올립니다!

 

728x90