반응형

oracle 공부 29

[Oracle]ORACLE SUB QUERY

목차 서브쿼리 서브쿼리는 하나의 메인쿼리안에 또 하나의 쿼리가 담겨있는 걸 의미 종류 : 스칼라 서브쿼리(SELECT절에 사용), 인라인뷰 서브쿼리(FROM절에 사용), 일반 서브쿼리(WHERE절에 사용) SELECT col1, (SELECT ...) -- 스칼라 서브쿼리(Scalar Sub Query): 하나의 컬럼처럼 사용 (표현 용도) FROM (SELECT ...) -- 인라인 뷰(Inline View): 하나의 테이블처럼 사용 (테이블 대체 용도) WHERE col = (SELECT ...) -- 일반 서브쿼리: 하나의 변수(상수)처럼 사용 (서브쿼리의 결과에 따라 달라지는 조건절) 출처: https://data-make.tistory.com/25 [Data Makes Our Future] --..

IT/DBMS 2022.11.25

[Oracle]view(뷰)

목차 view는 가상의 테이블을 의미, view는 데이터는 없고 원본 테이블에 가서 데이터를 불러오는 SQL query만 저장되어 있음 사용자가 해당 view를 사용하는 SQL를 실행할 때만 view에 들어 있는 쿼리가 실행됨 -- 간단한 view 생성 CREATE OR REPLACE VIEW v_emp1 AS SELECT empno, ename, hiredate FROM emp; -- view 조회 시 아래처럼 결과가 표시됨(emp테이블에서 데이터를 조회해 ) SELECT * FROM v_emp1; view를 생성하면 오라클은 해당 view 정보를 딕셔너리에 저장한 다음 사용자가 view를 사용할 때만 view의 서브쿼리가 실행되어 원본 테이블에서 데이터를 가져옴 ※ 이 의미는 평소에 이 view에는 ..

IT/DBMS 2022.11.25

[Oracle]GROUP BY + 그룹함수(SUM, COUNT 등)

목차 Oracle Group by/그룹함수 쉽게 생각하면 된다. GROUP BY 다음에 오는 컬럼으로 먼저 그룹핑을 한 다음 그룹함수를 실행 SELECT deptno, job, AVG(NVL(sal, 0)) "AVG_SAL" FROM emp GROUP BY deptno, job ORDER BY deptno,job; 위의 쿼리는 emp테이블에서 부서번호(deptno)로 먼저 그룹핑, 그 다음 직업(job)으로 그룹핑을 한 후 SELECT절에 있는 그룹함수인 AVG() 함수를 실행한 결과를 나타낸다. 주의사항이 있는데 GROUP BY사용 시 SELECT절의 그룹함수를 제외한 컬럼은 반드시 GROUP BY 절에 나온 컬럼을 명시해야 한다. 안할 경우 아래처럼 에러 발생 HAVING 절 일반적으로 WHERE절에..

IT/DBMS 2022.11.19

[Oracle] ORA-12547 TNS lost contact/UDE-12547 error..

목차 ORA-12547 TNS lost contact 상황 : oracle 계정이 아닌 다른 계정으로 oracle에 접속해서 expdp를 이용해서 dump를 실행 중임 어쩌다가 실수로 아래처럼 오라클 하위 폴더의 계정을 other의 권한을 rwx 가능하게 변경 했더니 sudo chmod -R 757 /oracle 위처럼 표시가 되었었다. 실수로 잘 돌아가는 덤프를 잘못 건드리는 바람에..(다시는 이런 실수 하지 않으리) 당연히 오라클 폴더의 권한 문제라는 강한 확신을 가지고 구글링을 했음 아래 블로그에서 도움을 얻었다. $ORACLE_HOME(/oracle/app/product/12.2.0.1)/bin 아래에 oracle 폴더의 권한을 6751로 변경 했음 sudo chmod 6751 oracle 그 후..

IT/DBMS 2022.11.19
반응형