계층형 질의 계층형 질의를 이용해 EMP 테이블에서 사원간의 서열을 출력한다. START WITH와 CONNECT BY 절을 이용하면 LEVEL을 출력할 수 있다. START WITH절은 루트노드를 지정하며 CONNECT BY 절은 부모노드와 자식노드 간의 관계를 지정한다. SELECT rpad(' ', (level-1)*3) || ename as employee , level , sal , job FROM EMP START WITH ename='KING' CONNECT BY PRIOR empno = mgr; CONNECT BY 조건 BLAKE와 이를 부모노드로 가진 사원을 제외하여 노드를 구성한다. CONNECT BY PRIOR empno = mgr AND ename != 'BLAKE'; START W..
쿼리 SELECT A.COLUMN_NAME , A.COMMENTS , B.DATA_TYPE || '(' || B.DATA_LENGTH || ')' AS DATA_TYPE , B.NULLABLE , B.DATA_DEFAULT FROM ALL_COL_COMMENTS A, USER_TAB_COLUMNS B WHERE A.TABLE_NAME = '테이블명' AND A.TABLE_NAME = B.TABLE_NAME AND A.COLUMN_NAME = B.COLUMN_NAME ORDER BY B.COLUMN_ID COLUMN_NAME COMMENTS DATA_TYPE NULLABLE DATA_DEFAULT EMPNO 사원번호 VARCHAR2(20) N ('001') EMPNAME 사원이름 VARCHAR2(50) N..
SQL 쿼리 SELECT * FROM v$version; Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production PL/SQL Release 12.2.0.1.0 - Production CORE 12.2.0.1.0 Production TNS for Linux: Version 12.2.0.1.0 - Production NLSRTL Version 12.2.0.1.0 - Production
SUBSTR(문자열, 시작위치, 추출길이) SELECT SUBSTR('STRING', 1, 2), SUBSTR('STRING', 3, 2),SUBSTR('STRING', 5, 2) FROM DUAL SUBSTR('STRING', 1, 2) : 첫 번째 글자부터 두 글자 출력 SUBSTR('STRING', 3, 2) : 세 번째 글자부터 두 글자 출력 SUBSTR('STRING', 5, 2) : 다섯 번째 글자부터 두 글자 출력 SUBSTR(문자열, 시작위치) SELECT SUBSTR('STRING', 1), SUBSTR('STRING', 3),SUBSTR('STRING', 5) FROM DUAL SUBSTR('STRING', 1) : 첫 번째 글자 이후 문자열 출력 SUBSTR('STRING', 3) :..
NULL 처리 조회,삽입,삭제,수정시 데이터에 NULL값이 존재하는 경우 쿼리가 제대로 동작하지 않을 경우가 있다. NVL, NVL2 함수를 이용하면 NULL이 불러와졌을 때 기본값을 지정해줄 수 있다. NVL 검사할 데이터 또는 컬럼이 NULL이 아니라면 그대로 출력하고 NULL일 때 반환할 기본 값을 지정할 수 있다. NVL([NULL인지 검사할 데이터 또는 컬럼], [NULL일 경우 반환할 값]) EMP 테이블의 COMM 컬럼을 가져왔을 때 그 값이 NULL이라면 0을 출력하고, NULL이 아니라면 가져온 COMM값을 그대로 출력한다. SELECT COMM, NVL(COMM, 0) NVL_COMM FROM EMP NVL 사용 시 주의할 점은 NULL 값을 [NULL인지 검사할 컬럼]의 데이터 타입과..
UNOIN ALL/UNOIN UNOIN ALL/UNION 연산자는 위의 쿼리와 아래 쿼리(여러개의 쿼리) 결과를 하나의 결과로 출력하는 집합연산자이다. 집합연산자는 조회된 쿼리를 대상으로 연산을 하는 연산자이다. UNION ALL 사용시 주의사항 위쪽 쿼리와 아래쪽 쿼리 컬럼의 개수/타입이 동일해야한다 출력되는 컬럼명은 위쪽 쿼리 컬럼명으로 출력된다 ORDER BY 절은 제일 아래쪽 쿼리에만 작성할 수 있다 UNION ALL 예시 SELECT DEPTNO, sum(sal) FROM EMP GROUP BY DEPTNO UNION ALL SELECT NULL AS DEPTNO, sum(sal) FROM EMP UNION ALL - 중복된 결과 포함 SELECT COL1 FROM A UNION ALL SELE..
기존 생성된 테이블에서 ALTER TABLE 구문을 통해 컬럼을 추가하게되면 추가된 컬럼은 마지막순서에 위치해있다. 오라클 12c 이상부터는 INVISIBLE과 VISIBLE을 이용해 컬럼 순서를 변경할 수 있다. (그 이하 버전은 테이블삭제 후 재생성) INVISIBLE을 적용하면 컬럼이 보이지 않게되며, 다시 VISIBLE을 적용하면 없어졌던 컬럼이 마지막 순서로 나타나게된다. ALTER TABLE [테이블] MODIFY [컬럼] INVISIBLE/VISIBLE; ALTER TABLE EMP MODIFY DEPTNO INVISIBLE; ALTER TABLE EMP MODIFY DEPTNO VISIBLE; 컬럼을 어디로 이동시킬지에 따라 INVISLBIE/VISIBLE을 적용할 컬럼 숫자를 달리하면 된다.
- Total
- Today
- Yesterday
- 개발용어
- SQL
- JSP
- 오라클
- 데이터베이스
- svn
- C
- 넥사크로
- CS
- 네트워크
- Thymeleaf
- HeidiSQL
- 국비교육
- 스프링
- 이클립스
- C++
- Open API
- 백준
- 스프링부트
- 부트스트랩
- 환경설정
- JVM
- 프로그래머스
- 오류
- Java
- CSS
- 인턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |