개발일지/SQL (25) 썸네일형 리스트형 [Oracle] 시퀀스(Sequence) 시퀀스(Sequence) - 시퀀스를 사용하면 기본키 같이 순차적으로 증가하는 값을 자동으로 생성할 수 있음 --시퀀스 등록 CREATE SEQUENCE EX_SEQ INCREMENT BY 1 START WITH 50 MINVALUE 1 MAXVALUE 9999 NOCYCLE NOCACHE; 이렇게 코드를 이용해서 등록하는 방법도 있고, 왼쪽 시퀀스 폴더에서 설정하는 방법이 있다. 시퀀스 폴더에서 오른쪽 마우스 - 새 시퀀스 CREATE SEQUNCE 시퀀스명 INCREMENT BY 시작설정 START WITH 올라가는 값 MINIVALUE 최소값 MAXVALUE 최대값 NOCYCLE 주기 없음 NOCACHE 캐시 없음 기본 사용 방법 -- 해당 시퀀스의 다음값 SELECT testSeq.NEXTVAL .. [Oracle] 인덱스(Index)의 정의 인덱스(INDEX) 테이블의 데이터를 좀 더 빨리 찾을 수 있다. (항상 그런 건 아님) 인덱스를 생성하게 되면 INDEX TABLE을 생성해 관리하게 된다. 테이블에 있는 칼럼 중 하나 이상의 컬럼으로 생성을 한다. 데이터베이스 공간을 차지해서 추가적인 공간이 필요해진다. (데이터베이스 10% 정도 추가 공간 필요) 처음 인덱스 생성시 시간이 많이 소요 데이터의 변경 작업이 자주 일어날 경우 오히려 성능이 나빠진다. 우리가 테이블을 생성할 때 오브젝트를 생성한다고 한다. 인덱스의 경우도 오브젝트의 한 종류이고 인덱스가 생성되면 테이블과 매핑(서로 다른 테이블 간의 연결되는 프로세스)되는 또 다른 테이블이 하나 더 생성되는 것이다. Q. 테이블이 하나 더 생성이 됐는데 어떻게 속도가 빨라지는 걸까? 인덱.. [Oracle] 뷰(View) 간단 정리 뷰(View) - 하나의 가상 테이블이다. - 데이터를 편하게 보기 위해서 기존의 테이블을 이용해 결과를 묶어 생성한다. - 실제 저장 되는 것이 아니지만 뷰를 통해서 관리까지 가능하다. 그렇다면 이런 가상 테이블을 만들어서 관리하는 이유는 무엇일까? 1. 보안강화 2. 쿼리 단순화 1. 보안강화의 이유 경리팀에서 급여계산을 하려고 할 때 영업직원들에 대한 실직은 영업팀에서만 갖고있다. 영업팀에서는 모든 정보를 보여 줄 필요가 없으니 경리팀에서 필요한 정보만 모아 보여주기 위해서 뷰(View)를 사용한다. 2. 쿼리 단순화 한방 쿼리(한 줄로 정보를 뽑아내는 것)를 하려고 했지만 되지 않을 때, 기준으로 잡고 있는 테이블의 양이 너무나 방대할 때 정보들을 걸러내고 한 번에 뜰 수 있도록 단순화를 시킨다... SUB QUERY (서브쿼리) ~ SUB QUERY ~ - SELECT문 안에 SELECT문이 있음 - 단일 SELECT문으로 조건식을 끝내기엔 조건이 부족할 때 - 완전히 다른 테이블에서 데이터 값을 조회한 뒤 메인 쿼리의 조건으로 사용하려 할 때 유용 - 하나의 SQL문에 포함되어 있는 또 다른 SQL문을 의미한다 사용방법 - 서브쿼리를 (괄호)로 감싸서 사용 - 서브쿼리는 단일/복수 비교연산자와 함께 사용이 가능하다. - 단 ORDER BY문과 사용하지 못 한다! 사용 가능한 위치 - SELECT, FROM, WHERE, HAVING, ORDER BY, INSERT문 VALUES절 단일행 서브쿼리 - 서브쿼리의 결과가 ★한 개★일 때 사용 -- 2021년 10월 보너스가 가장 많은 직원의 정보를 조회하는 쿼리(단일행 서브쿼리) .. Oracle DB SQL Developer : Network 오류 나중에 내가 필요할 때 보려고 저장 [DB Sql developer 에러] The Network Adapter could not establish the connection 원인,오류 해결법 안녕하세요~! 주말 내내 뒹굴거리다가... 이렇게 포스팅을 하러 왔습니다 ㅎㅎ SQL Developer를 설치하고 커넥션을 하려 하면, 이렇게 '상태:실패 -테스트 실패: IO 오류: The Network Adapter could not establi.. jhnyang.tistory.com 인덱스 리빌드 사용방법 사용법 ALTER INDEX [] REBUILD; ALTER INDEX PK_CUSTOMERS REBUILD; SELECT 'ALTER INDEX '||INDEX_NAME||' REBUILD; ' FROM USER_INDEXES WHERE TABLE_OWNER = 'C##ICIAUSER'; --사용자 ID --AND INDEX_NAME LIKE 'PK_%' ; [Oracle] Outer Join (아우터 조인) [Oracle] 다양한 함수 배워보기 날짜 포맷 SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') ,TO_CHAR(SYSDATE, 'YYYY/MM/DD') ,TO_CHAR(SYSDATE, 'YYYY-MM-DD') ,TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL; 날짜에 0 없애기 SELECT TO_CHAR(SYS.. practice365.xyz Inner Join에 이어서 . . . Outer Join(아우터 조인) 기본개념 - INNER JOIN과는 반대가 되는 개념 - 데이터가 양쪽에 없다 해도 보여 줄 수 있는 JOIN EQUI JOIN은 두 개의 테이블 중 한쪽 컬럼에 값이 없다면 나머지 테이블 값을 반환하지 못 한다. - OUTER J.. [Oracle] 테이블 설정 / 테이블 밖에서 PK, FK 설정 --급여테이블 --년월(6), 직원코드, 급여, 보너스 --직원명 부서코드 등 이미 다른 테이블에 존재하는 경우 조인해서 가지고 오면 된다. CREATE TABLE SALARY ( SALDATE CHAR(6) NOT NULL, --여기에 바로 PK 설정하면 안 됨 따로 빼서 해야 됨 EMPNO CHAR(4) NOT NULL, --PK, FK SAL NUMBER(10), COMM NUMBER(10) ); COMMENT ON TABLE SALARY IS '급여정보'; COMMENT ON COLUMN SALARY.SALDATE IS '급여년월'; COMMENT ON COLUMN SALARY.EMPNO IS '사원번호'; COMMENT ON COLUMN SALARY.SAL IS '급여'; COMMENT ON C.. 이전 1 2 3 4 다음