Left Outer Join
SELECT e.EMPLOYEE_ID, e.FIRST_NAME , d.DEPARTMENT_ID, d.DEPARTMENT_NAME
FROM EMPLOYEES e
LEFT OUTER JOIN DEPARTMENTS d
ON e.DEPARTMENT_ID = d.DEPARTMENT_ID
;
``
right outer join
오른쪽 테이블이 기준이 된다
조인 조건에 부합하는 데이터가 조인 당하는 테이블에 있으면
해당 데이터를, 부재하면 NULL로 select가 된다.
select * from tableA t1 right outer join tableB b2
SELECT e.EMPLOYEE_ID, e.FIRST_NAME , d.DEPARTMENT_ID, d.DEPARTMENT_NAME
FROM EMPLOYEES e
RIGHT OUTER JOIN DEPARTMENTS d
ON e.DEPARTMENT_ID = d.DEPARTMENT_ID
;
'''
full outer join
양쪽 테이블 모두가 기준이 된다
조인 조건에 부합하는 데이터가 조인 당하는 테이블에 있으면
해당테이블을, 부재하면 NULL로 SELECT 된다.
SELECT e.EMPLOYEE_ID , e.FIRST_NAME
, d.DEPARTMENT_ID , d.DEPARTMENT_NAME
FROM EMPLOYEES e
FULL OUTER JOIN DEPARTMENTS d ON e.DEPARTMENT_ID = d.DEPARTMENT_ID
;
char vs varchar2
-예를 들어 가변형 문자형 데이터타입인 varchar2에 10이라는 공간을 할당하고 abc라고 데이터를 입력했다고 치면 그 데이터는 10이라는 데이터 공간을 할당했기 때문에
10byte까지만 데이터를 입력받을 수 있고, 3글자만 입력되었으므로 그 데이터 공간은 3byte가 됩니다.
-반대로 고정형 문자형 데이터 타입인 char에 10이라는 데이터 공간을 할당하고 마찬가지로 abc라는 데이터를 입력했다고 치면 그 데이터는 3글자만 입력되었지만
데이터 공간은 10byte가 된다.
-남/여 같이 한 글자만 들어올 수 있는 것이 아니라면 대부분은 varchar2를 사용한다.
3-4 숫자형 데이터 타입
입력값 타입(P,S) 저장되는 값
123.89 NUMBER 123.89
123.89 NUMBER(3) 124(반올림된다)
123.89 NUMBER(4,2) 에러발생
123.89 NUMBER(3,2) 에러
123.89 NUMBER(5,2) 123.89
123.89 NUMBER(6,1) 123.9