[Oracle]ORACLE SELECT 결과값 별칭(alias) 사용 목차 아래처럼 사용하는 경우가 많음 학생 테이블에서 학생번호, 이름, 아이디, 주민번호, 생년월일을 조회하는 쿼리 결과값을 s라는 별칭을 줘서 하나의 테이블이 되는것임 바깥쪽 메인쿼리에서는 안쪽 결과를 테이블처럼 사용 IT/DBMS 2022.11.25
[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]오라클 SELECT 1 FROM '테이블명' 목차 주로 다중행 서브 쿼리문에서 WHERE절에 EXISTS(NOT) 함수안의 서브쿼리에 사용됨, EXISTS로 서브쿼리를 확인할 때는 데이터 값보다는 값의 존재유무가 더 중요하기 때문에 간단하게 사용하기 위해 SELECT 1 FROM emp 형태로 사용됨 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]오라클 CTAS(Create Table As SELECT) 목차 오라클 CTAS(Create Table As SELECT) 테이블 복사할 때 주로 사용되고 기존에 있던 테이블을 참조하여 동일한 테이블을 만들 때 사용함 CREATE TABLE emp_211101 AS SELECT * FROM emp; 위와 다르게 테이블 구조만 복사할 때는 아래처럼 WHERE절에 틀린 조건을 줘서 SELECT를 못하게 함 CREATE TABLE emp_211101_1 AS SELECT * FROM emp WHERE 1 = 2; IT/DBMS 2022.11.25
[Oracle]GROUP BY + ROLL UP이용한 소계 구하기 목차 GROUP BY + ROLL UP이용한 소계 구하기 SELECT DECODE(POSITION,NULL,'합계',POSITION) postion , NVL(sum(BONUS),0) sum FROM PROFESSOR GROUP BY ROLLUP(position) ; 그룹바이 한 값의 합계를 구할 때 사용하는 함수 IT/DBMS 2022.11.25
[Oracle] 테이블/테이블 목록 조회 목차 Oracle 테이블 조회 오라클에서 테이블 조건, 컬럼으로 조회 해야 할 경우 아래 테이블에서 조회 SELECT * FROM ALL_TABLES; (관리자일 경우) SELECT * FROM USER_TABLES; (관리자 아닐 경우) SELECT * FROM TAB; (관리자 아닐 경우) SELECT * FROM ALL_TAB_COLUMNS(관리자일 경우) 데이터가 없는 테이블 조회 IT/DBMS 2022.11.25
[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