반응형
Backend/db2018. 8. 20. 22:35뷰,시퀀스

7. 뷰 (VIEW) : 가상 테이블 ` 데이터 보안 `복잡한 쿼리의 사용빈도가 높은 경우 CREATE OR REPLACE VIEW v_emp AS select empno, ename, deptno from emp; [ View의 장점 ]- View는 데이터베이스의 선택적인 내용을 보여줄 수 있기 때문에 데이터베이스에 대한 액세스를 제한한다- 조인을 한 것처럼 여러 테이블에 대한 데이터를 View를 통해 볼 수 있다- 한 개의 View로 여러 테이블에 대한 데이터를 검색한다- 특정 기준에 따른 사용자 별로 다른 데이터를 액세스 할 수 있다 (1) updatable 뷰 CREATE OR REPLACE VIEW v_emp AS select empno, ename, deptno from emp; *뷰에 데이터..

Backend/db2018. 8. 20. 21:56서브쿼리

서브쿼리 1. 하나의 SQL문장 내부에 존재하는 또 다른 SELECT 문장 2. DML ( SELECT , INSERT , UPDATE , DELETE ) 에 사용가능 # 서브쿼리 사용시 1. 서브쿼리는 ( ) 로 묶는다. 2. 서브쿼리는 연산자의 오른쪽에 위치시킨다. 3. 단일 행인 경우 비교 연산자 가능 ( > , >= , < , 복수 행인 경우 IN , NOT IN , ANY , EXISTS ㄱ. IN : 반환된 목록의 각각과 비교 ㄴ. ANY : 비교연산자와 반환된 목록의 각각과 비교 ㄷ. ALL : 비교연산자와 반환된 모든 목록과 비교 ㄹ. EXISTS : 적어도 한 개의 행을 리턴하면 true , 그렇지 않으면 false 5. ORDET BY에선 사용 못한다.

Backend/db2018. 8. 20. 21:49조인

5. 조인 -하나 이상의 테이블로부터 데이터를 검색할 때 사원테이블(emp)에 사원명과 부서테이블(dept)에 그 사원의 부서명을 출력 1. 두 테이블만 기술 =>Cartesian Product select ename, dname from emp, dept where emp.deptno = dept.deptno; 결과 : 14행 (1) 부서번호로 검색하고자 한다면 두 테이블에 있기에 어느 테이블에서 가져올지 지정 (2)매 컬럼마다 테이블이름 지정 대신 테이블 alias로 대신 *자바에서 불러올 때 단순한 컬럼명으로만 부르기에 alias 지정 필수 ! (3)부서 없이 본인 데이터를 하나 입력한다. (deptno 없이 emp 테이블에 입력) *다시 dept 테이블과 조인하여 확인 -> 입력된데이터 출력 안됨..

Backend/db2018. 8. 19. 18:43그룹

그룹 ( 1 ) ALL , DISTINCT SELECT all job FROM emp; SELECT distinct job FROM emp; ( 2 ) 집계함수 1. AVG : 평균 2. COUNT : 행의 개수 3. SUM : 합계 4. MIN / MAX : 최소값, 최대값 5. VARIANCE : 분산값 6. STDDEV : 표준편차값 # 함수 인자에 DISTINCT를 이용하면 중복되지 않는 값으로 계싼 ( 3 ) 데이터 그룹 1. SELECT columns FROM table_name WHERE condition GROUP BY group_by_expression HAVING condition ORDER BY column; # 출력 컬럼은 그룹핑하는 컬럼과 집계함수만 가능 # GROUP BY 절에 ..

Backend/db2018. 8. 19. 18:20조건함수_연습문제

-- 부서번호가 10이면영업부, 20이면 관리부, 30이면 IT부 그 외는 기술부로 출력 SELECT CASE DEPTNO WHEN 10 THEN '영업부' WHEN 20 THEN '관리부' WHEN 30 THEN 'IT부' ELSE '기술부' END as ALLOB FROM EMP; -- 업무(job)이 analyst이면 급여 증가가 10%이고 clerk이면 15%, manager이면 20%인 경우 사원번호, 사원명, 업무, 급여, 증가한급여를 출력 SELECT EMPNO, ENAME , SAL , job , CASE job WHEN 'ANALYST' THEN SAL*1.0 WHEN 'CLERK' THEN SAL *1.5 WHEN 'MANAGER' THEN SAL*2.0 END as ggg FROM e..

Backend/db2018. 8. 19. 18:12변환함수_연습문제

-- 입사일자에서 입사년도를 출력 SELECT to_char(HIREDATE,'YYYY') FROM EMP; -- 입사일자를 ‘1999년 1월 1일’ 형식으로 출력 SELECT to_char(HIREDATE,'YYYY"년"-MM"월"-DD"일"') FROM EMP; -- 1981년도에 입사한 사원 검색 SELECT * FROM EMP WHERE to_CHAR(HIREDATE,'yyyy') =1981; -- 5월에 입사한 사원 검색 SELECT * FROM EMP WHERE to_char(HIREDATE,'MM')=05; -- 급여 앞에 $를 삽입하고 3자리 마다 ,를 출력SELECT '$' || to_char(sal,'999,999,999') FROM EMP;

반응형
image