Bible, Lee, Data
Faith, software, data, and everyday life.
EngineeringAll posts
[Oracle] 테이블 수정 Alter Table문
💡테이블 수정하기 테이블 정의 수정 > 스키마 수정 > 컬럼 수정 > 컬럼명 OR 자료형 (길이) OR 제약사항 등 수정 테이블을 수정한다는 건 실제로는 컬럼명, 자료형, 제약사항 등의 것들을 수정하는 걸 의미한다. 테이블을 수정하는 상황은 되도록 피하도록 한다. 테이블을 수정하는 상황을 만들기 이전에 설계를 완벽하게 해야 한다.🏗️ [Oracle] SQL 키워드, 식별자, 자료형 💡SQL 키워드와 식별자 대소문자 구분 -- 대소문자 구분 X select * from tabs; SELECT * FROM tabs; -- 대소문자 구분 O select * from tabs where table_name = 'JOBS'; select * from tabs where table_name = 'jobs'; SQL..
[Oracle] 유니온 (Union)
💡합집합 (Union) 유니온(Union)은 합집합으로서 테이블을 더한 결과를 출력한다. 스키마가 동일한 결과셋끼리만 가능하다. 유니온의 사용 SELECT * FROM tblMen UNION SELECT * FROM tblWomen; 유니온은 테이블을 더한다고 했다. 따라서 두 테이블을 더한 데이터 20개가 출력된다. 언제 유니온을 사용할까? SELECT * FROM 영업부게시판; SELECT * FROM 총무부게시판; SELECT * FROM 개발부게시판; 각 부서의 근황을 한 번에 알려고 할 때와 같이 다른 데에 있는 테이블들을 합쳐야 하는 일이 생긴다. 사장님이 모든 게시판의 글을 한 번에 보게 해달라고 요청하실 때 바로 유니온을 사용하면 된다. 유니온의 조건 같은 테이블의 구조 --ORA-0178..
[Oracle] 뷰와 뷰 사용 문서 (View)
💡뷰 뷰(View)는 데이터베이스 객체(테이블, 제약 사항, 뷰, 시퀀스) 중 하나이다. 가상 테이블, 뷰 테이블 등으로 부른다. 테이블이라고 부르는 이유는 실제로 뷰를 테이블처럼 사용하기 때문이다. 🔹정의: 쿼리(SQL)를 저장하는 객체 🔹목적: 권한 통제 뷰의 사용 뷰 구문 create [or replace] view 뷰이름 as select문; 뷰 구문에서 [or replace]를 작성하지 않아도 된다. 하지만 작성하는 게 더 편하기 때문에 보편적으로 함께 작성하는 편이다. 뷰 오브젝트 생성 CREATE OR REPLACE VIEW vwInsa AS SELECT * FROM tblInsa; SELECT * FROM vwInsa; --tblInsa 테이블의 복사본 뷰 오브젝트 vwInsa를 하나 생성..
[Oracle] eXERD 설정
💡eXERD 샘플데이터 eXERD를 설치를 완료하였다면 샘플데이터를 확인해 보도록 하자. pos 예제 수강 신청 예제 💡ERD 생성 eXERD File 생성 새로 작성 > eXERD File을 클릭하여 새로운 파일을 생성한다. 데이터베이스를 오라클로 선택, 새 프로젝트를 선택하여 새 파일을 만든다. 이때 사용하는 DBMS에 맞게 설정해준다. 지금은 Oracle을 선택하였다. ERD 그리기 -- 고객 테이블 create table tblCustomer ( seq number primary key, --고객번호(PK) name varchar2(30) not null, --고객명 tel varchar2(15) not null, --연락처 address varchar2(100) not null --주소 ); -..
[Oracle] 조인: 전체 외부 조인 (FULL OUTER JOIN)
💡전체 외부 조인 전체 외부 조인(FULL OUTER JOIN)은 서로 참조하고 있는 관계에서 사용한다. 상대적으로 사용 빈도가 낮은 조인에 속한다. 전체 외부 조인의 사용 SELECT * FROM tblMen;--부모, 자식 SELECT * FROM tblWomen;--자식, 부모 전체 외부 조인은 서로 참조하고 있는 관계에서 사용한다. 사용 빈도가 낮은 조인에 속한다. SELECT m.name, w.name FROM tblMen m INNER JOIN tblWomen w ON m.name = w.couple; 커플인 남자와 여자만을 가져온다. SELECT m.name, w.name FROM tblMen m LEFT OUTER JOIN tblWomen w ON m.name = w.couple; 왼쪽 조..
[Oracle] 조인: 셀프 조인 (Self Join)
💡셀프 조인 셀프 조인(Self Join)은 1개의 테이블을 사용하는 조인이다. 셀프 조인은 자기 스스로와 관계를 맺는 경우를 의미한다. 즉, 똑같은 게 부모 자식이 된다. 다중 조인(2개) + 내부 조인 다중 조인(2개) + 외부 조인 셀프 조인(1개) + 내부 조인 셀프 조인(1개) + 외부 조인 셀프 조인은 아래의 항목에 해당한다. 셀프 조인의 사용 CREATE TABLE tblSelf ( seq NUMBER PRIMARY KEY,--직원번호(PK) name varchar2(30) NOT NULL,--직원명 department varchar2(30) NOT NULL,--부서명 super NUMBER NULL REFERENCES tblSelf(seq)--상사번호(FK) ); INSERT INTO tb..
[Oracle] 조인: 외부 조인 (Outer Join)
💡외부 조인 외부 조인(OUTER JOIN)은 이름만 보면 내부 조인의 반대말인 거 같지만, 그렇지 않다. 모든 외부 조인은 내부 조인의 결과를 포함하고 있다. 여기에 + Alpha를 한 게 외부 조인이다. 내부 조인을 하면 일부 컬럼이 제외되는데, 외부 조인은 그 제외된 컬럼 중에 부모 테이블의 나머지 레코드도 가지고 있다는 특징이 있다. 외부 조인의 사용 select 컬럼리스트 from 테이블A (left|right) outer join 테이블B on 테이블A.컬럼 = 테이블B.컬럼; 외부 조인은 위의 문법으로 작성한다. 💡내부 조인과 외부 조인의 차이 고객, 판매 테이블 SELECT * FROM tblCustomer; --3명 > 5명 SELECT * FROM tblSales; --9건 insert..
[Oracle] 조인: 내부 조인 (Inner Join)
💡내부 조인 내부 조인(INNER JOIN)은 단순 조인에서 유효한 레코드만을 추출하는 조인이다. 쓸모없는 것은 버리고 쓸모 있는 쪽만 남긴다. 내부 조인의 사용 select 컬럼리스트 from 테이블A inner join 테이블B on 테이블A.PK = 테이블B.FK; select 컬럼리스트 from 테이블A inner join 테이블B on 테이블A.PK = 테이블B.FK; 내부 조인을 작성할 때에는 on 조건을 걸어주어야 한다. 이때 테이블 A의 기본키와 테이블 B의 외래키를 찾아달라는 구문을 작성한다. 명확한 컬럼 이름 명시 SELECT * FROM TBLSTAFF INNER JOIN TBLPROJECT ON TBLSTAFF.seq = TBLPROJECT.staff_seq; 경우에 따라 테이블 이..