티스토리 뷰
내가 생각 하는 두가지 관점은
1) DBMS 를 사용하는 사람
- 실제로 데이터를 모델링 하는 모델러, DBA, DB 개발자 기타 등등이 되겠다.
2) DBMS 를 만드는 사람
- 실제 DBMS를 만드는 핵심 코어 엔지니어와 각 벤더의 DBMS를 지원하는 기술지원자의 입장 ...
등이 있을수 있겠다.
현재 국내에서 사용하는 데이터 베이스 시스템은 Oracle , MSSQL Server, MySQL, Cubrid, Sybase, DB2, Informix, PostgreSQL 서버 기타 등등이다.
실제로 DBMS 서버의 경우 ISO에 등록된 표준 스펙 SQL 1992, SQL 2003 등의 스펙으로 구현된 경우가 많다. 하지만 실제 DBMS 벤더의 경우 산업 표준이 아닌 벤더만의 특수 기능을 넣는 경우가 있다.
우선 DB 개발을 주로 하는 DB 개발자 위주의 내용이 되겠다.
예로 아우터 조인의 경우
오라클과 Cubrid 에서 지원하는 (+) 연산자를 사용하는 다음과 같은 SQL문이 있다.
1) DBMS 를 사용하는 사람
- 실제로 데이터를 모델링 하는 모델러, DBA, DB 개발자 기타 등등이 되겠다.
2) DBMS 를 만드는 사람
- 실제 DBMS를 만드는 핵심 코어 엔지니어와 각 벤더의 DBMS를 지원하는 기술지원자의 입장 ...
등이 있을수 있겠다.
현재 국내에서 사용하는 데이터 베이스 시스템은 Oracle , MSSQL Server, MySQL, Cubrid, Sybase, DB2, Informix, PostgreSQL 서버 기타 등등이다.
실제로 DBMS 서버의 경우 ISO에 등록된 표준 스펙 SQL 1992, SQL 2003 등의 스펙으로 구현된 경우가 많다. 하지만 실제 DBMS 벤더의 경우 산업 표준이 아닌 벤더만의 특수 기능을 넣는 경우가 있다.
우선 DB 개발을 주로 하는 DB 개발자 위주의 내용이 되겠다.
예로 아우터 조인의 경우
오라클과 Cubrid 에서 지원하는 (+) 연산자를 사용하는 다음과 같은 SQL문이 있다.
SQL> SELECT DISTINCT(a.deptno), b.deptno
FROM emp a, dept b
WHERE a.deptno(+) = b.deptno
FROM emp a, dept b
WHERE a.deptno(+) = b.deptno
Oracle9i 부터는 ANSI/ISO SQL표준인 LEFT OUTER JOIN , RIGHT OUTER JOIN, FULL OUTER JOIN를 지원 합니다.
LEFT OUTER JOIN
왼쪽 테이블에 조인시킬 컬럽의 값이 없는 경우 사용합니다.
SQL>SELECT DISTINCT(e.deptno), d.deptno
FROM dept d LEFT OUTER JOIN emp e
ON d.deptno = e.deptno;
RIGHT OUTER JOIN
- 오른쪽에 테이블에 조인시킬 컬럽의 값이 없는 경우 사용합니다.
SQL>SELECT DISTINCT(a.deptno), b.deptno
FROM emp a RIGHT OUTER JOIN dept b
ON a.deptno = b.deptno;
FULL OUTER JOIN
양쪽 테이블에 다 outer join을 거는것을 TWO-WAY OUTER JOIN 또는 FULL OUTER JOIN이라 합니다.
SQL>SELECT DISTINCT(a.deptno), b.deptno
FROM emp a FULL OUTER JOIN dept b
ON a.deptno = b.deptno;
왼쪽 테이블에 조인시킬 컬럽의 값이 없는 경우 사용합니다.
SQL>SELECT DISTINCT(e.deptno), d.deptno
FROM dept d LEFT OUTER JOIN emp e
ON d.deptno = e.deptno;
RIGHT OUTER JOIN
- 오른쪽에 테이블에 조인시킬 컬럽의 값이 없는 경우 사용합니다.
SQL>SELECT DISTINCT(a.deptno), b.deptno
FROM emp a RIGHT OUTER JOIN dept b
ON a.deptno = b.deptno;
FULL OUTER JOIN
양쪽 테이블에 다 outer join을 거는것을 TWO-WAY OUTER JOIN 또는 FULL OUTER JOIN이라 합니다.
SQL>SELECT DISTINCT(a.deptno), b.deptno
FROM emp a FULL OUTER JOIN dept b
ON a.deptno = b.deptno;
대부분의 DBMS엔진이 각 벤더만의 특수한 기능을 넣는다.
다음번에는 Recursive SQL 의 경우를 고찰해 볼것이다.
'데이터베이스' 카테고리의 다른 글
깊이의 부족을 느끼다. (0) | 2009.12.22 |
---|---|
전문가에 대해서.. (0) | 2009.11.09 |
오라클 관련 SQL 고려 가이드 (0) | 2009.06.23 |
CUBRID cluster project open (0) | 2009.05.13 |
오라클 개발자를 위한 큐브리드 가이드 (0) | 2009.04.02 |
큐브리드 오픈소스 선언 (0) | 2008.12.19 |
인간 옵티마이저 그리고 웹 서비스 (0) | 2007.12.13 |
개발자가 자주 실수하는 10가지 (0) | 2007.10.01 |
DB 분석 기본편 (0) | 2007.10.01 |
DB 관리자가 되기 위한 방법들 (0) | 2007.09.17 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 퇴사
- 아웃라이어
- 습관의힘
- 구조주의 인류학
- 카이에 소바주 시리즈
- 디자인패턴
- shared everything
- shared all
- 커뮤니케이션의 7가지 나쁜 습관들
- auto increment
- 성공의길
- getGeneratedKeys
- 구글
- CUBRID
- Datapump
- 프로젝트
- 셀프 조인
- DB
- 오라클
- 바이오해킹
- 데이터과학
- 브레인피드백
- 튜닝
- 일본전산
- oracle
- ChatGPT
- 꿈
- NHN 면접
- 다짐
- 큐브리드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함