# 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
대학 다닐 때 정리했던 것 혹시나 도움이 될까 싶어 올립니다!
'Dev > Lecture Backup' 카테고리의 다른 글
DB 구조와 관리 1 중간고사 시험 범위 정리 (R) : 140419 (0) | 2019.04.22 |
---|---|
DB 구조와 관리 1 중간고사 시험 범위 정리 (oracle SQL 문제) : 140418 (0) | 2019.04.22 |
140609 DB 구조와 관리 1 (11) (0) | 2019.04.22 |
140602 DB 구조와 관리 1 (10) (0) | 2019.04.22 |