Oracle / Mysql
데이터베이스 운영 (DBA)
SQL (개발자)
ANSI 표준 SQL + 확장 sQL
> DML select insert update delete
DDL create alter drop rename truncate
DCL grant revoke
TCL commit rollback savepoint
데이터베이스화 장부-> 프로그램화 ERP
Extended ERP
사람 - 돈 - 물건
직원 - 고객(회사) - CRM
ERP
insert update delete
Extended ERP
select 컬럼명
from 테이블명
where 조건
order by 정렬
limit
함수
단일행 함수 => 1 : 1
information - 시스템 정보
Numeric - 수학 함수
String - 문자열 처리 함수 (1)
Date - 날짜 함수 (2)
Control - 제어 (3)
ifnull + 산술연산자
그룹 함수 => 여려개 : 1
select deptno, count(*) from emp group by deptno;
직업코드의 수를 구하고 직업코드 / 개수로 표기
select job, avg(sal) from emp group by job;
직책별 평균 급여를 계산해서 job / avg 로 표시
group by ~~ 를 그룹으로 묶어서 카운팅
그룹화되서 앞에 절에 ~~를 출력가능
select deptno, job, sum(sal) from emp group by deptno, job
deptno 와 job 을 동시에 그룹으로 묶어서 합계를 출력
group by 안에는 order by 정렬기능이 포함되어있다.
select empno, ename, sal
from emp
where job in (select distinct job from emp where deptno=20);
< ANY : 서브쿼리의 리턴값 중 최대값
> ANY : 서브쿼리의 리턴값 중 최소값
< ALL : 서브쿼리의 리턴값 중 최소값
> ALL : 서브쿼리의 리턴값 중 최대값
INNER JOIN
Join
select * from emp inner join dept where emp.deptno = dept.deptno
조인 조건 = equi join
출력할 테이블
select e.empno, e.ename, d.dname, d.loc, e.deptno, e.job
emp 와 dept를 엮음
from emp e inner join dept d
on (e.deptno = d.deptno)
where e.job= 'clerk';
OUTER JOIN
한쪽 정보 완전히 출력 나머지 연결만 null
right outer join (오른쪽 중심의 오른쪽 연결)
left outer join (왼쪽 중심의 왼쪽 연결)
full outer join (양쪽 다 확인)
SELF JOIN
한 테이블 내부에 조인
inner join
outer join