정의 테이블의 이름을 설정해 주는것 보통 다른 유저의 객체(테이블, 뷰, 프로시저, 함수, 패키지,시퀀스 등)를 참조할 때 많이 사용 다른유저의 객체를 사용할 때 유저의 이름과 객체의 실제 이름을 사용하는데, 그 두 개를 감춤으로써 데이터 베이스의 보안을 개선하기 위해 사용된다. 0.권한 부여 객체 유저가 두 명(user1/user2)가 있다고 가정할 때, user1이 가지고 있는 테이블에 대해 user2가 접근이 가능하도록 권한을 주어야 한다. 1. CMD 창에 가서 SQLPlus 접속한다 sqlplus sys/java@localhost:1521 as sysdba; 2.권한 부여 GRANT CREATE SYNONYM TO (PC.ID); Synonym 생성 CREATE [PUBLC || PRIVATE]..
DB
null 처리 함수, date 값이 null 값일 때 임의 설정값으로 처리해주기 NVL 함수 NVL(대상데이터, NULL일때 데이터) 더보기 NVL 예시 기본테이블 //DEFAULT SELECT NO, NAME, SALARY FROM TABLE; 결과) SELECT NO, NAME, NVL(SALARY,0) AS SALARY FROM TABLE; 결과) SALARY 컬럼의 NULL 값이 0으로 치환되었음. NULL이 아닌경우 그대로 출력 NVL2함수 NULL이 아닌 경우에도 값을 지정한 값 사용할수 있다. NVL2 (대상데이터, NULL아닐때 데이터, NULL일때 데이터) NULL이 아니면 첫번째 지정값, NULL이면 지정값2를 출력한다. 더보기 SELECT NO,NAME, NVL(SALARY,0) AS..
SEQUENCE 객체 정의 연속, 열거, 순서 의미 자동적으로 번호 생성하기 위한 객체 테이블과 독립이므로 여러 곳에서 사용 가능 SEQUENCE 이용하는 경우 PRIMARK KEY 를 설정할 후보기카 없거나 PK를 특별히 의미 있게 만들지 않아도 되는 경우 자동으로 순서적으로 번호 필요한 경우 INCREMENT BY : 시퀀스 실행시 증가 시킬값 START WITH : 시퀀스의 시작값(MINVALUE과 같거나 커야한다) MINVALUE: 시퀀스가 시작되는 최솟값 MAXVALUE : 시퀀스가 끝나는 최댓값 NOCYCLE | CYCLE : NOCYCLE( 반복안함), CYCLE(시퀀스의 최댓값에 도달 시 최솟값 1부터 다시시작) NOCACHE | CACHE : NOCACHE(사용안함), CACHE(캐시를 ..
집합 연산자를 사용시 집합 구성할 컬럼의 데이터 타입 동일해야함UNION : 합집합 / 중복제거 두 테이블의 결합을 나타내며, 결합 시키는 두 테이블의 중복되지 않은 값들을 반환더보기SELECT SALARY , DEPARTMENT_ID , FIRST_NAME FROM EMPLOYEES e WHERE DEPARTMENT_ID = 50UNION SELECT SALARY , NULL AS DEPARTMENT_ID , FIRST_NAME FROM EMPLOYEES e2 WHERE DEPARTMENT_ID = 30;UNION ALL : 합집합 / 중복 제거 안함UNION과 같으나두 테이블 중복되는 값까지 반환더보기SELECT deptno FROM emp UNION ALL SELECT dep..
정의 SQL 구문 안에 또 다른 Select 구문 DML문과 CREATE TABLE 또는 VIEW 이용 알려지지 않은 조건에 근거한 값들을 검색하는 select문장 작성 유용 Main Query 실행되기 이전에 한번 실행 가이드라인 괄호()로 묶음 연산자와 사용할 경우 오른쪽 배치 ORDER BY 사용할 수 없다. 두 종류의 비교 연산자들이 서브 쿼리 사용 단일 행 연산자 (=, >, >=, A.AVG_MILEAGE; 결과창 단일행 서브쿼리 오직 한개의 행(값)을 반환 단일 행 연산자( =, >, ALL(SELECT sal FROM emp WHERE job='SALESMAN'); EXISTS 연산자 서브쿼리의 데이터가 존재하는가의 여부를 먼저 따져 존재하는 값들만 결과로 변환 서브쿼리에서 적어도 1개의 ..
40.SELF JOIN 사원 번호가 7369인 사원과 담당 업무가 같은 사원을 표시(사원 이름과 담당업무)하시오. 더보기 SELECT E1.ENAME 사원이름, E1.JOB 담당업무 FROM EMP E ,EMP E1 WHERE E.EMPNO=7369 AND E.JOB = E1.JOB AND E1.EMPNO 7369; 40-1. JOIN 이용한 조회 상품테이블에서 상품코드, 상품명, 분류명, 거래처 명을 조회 하시오. 더보기 SELECT PROD.PROD_ID 상품코드 , PROD.PROD_NAME 상품명 , LPROD.LPROD_NM 분류명 , BUYER.BUYER_NAME 거래처명 FROM PROD, LPROD, BUYER --상품테이블 전부 봐야 되기 때문에 3개 테이블 불러옴 WHERE PROD.P..
GROUP BY 절 기본 사용 방법 특정 칼럼을 기준으로 집계를 내는데 사용 SELECT GROUP BY 절에 지정된 컬럼1, GROUP BY별로 집계할 값 FROM 테이블명 GROUP BY 그룹으로 묶을 컬럼 값; 더보기 1. Class는 반 명이며 name 학생 이름 score는 해당 학생의 성적 점수 SELECT CLASS, SUM(SCORE) FROM TBL_REPORT_CARD GRUOP BY CLASS; Having절 사용법 Having 절: Group by로 집계된 값 중 where 절 처럼 특정 조건 추가 SELECT GROUP BY 절에 지정된 컬럼1, GROUP BY별로 집계할 값 FROM 테이블 명 GROUP BY 그룹으로 묶을 컬럼 값 HAVING 조건 추가 ; 더보기 1. 학급별 ..
SELECT AVG(컬럼명) FROM 테이블명;
SELECT COUNT(컬럼명 또는 *) FROM 테이블명;
오름차순 ORDER BY 칼럼명 ASC; 내림차순 ORDER BY 칼럼명 DESC;