본문 바로가기

Oracle/Oracle Programming

[Oracle] NON-EQUI JOIN ■ NON-EQUI JOIN -. NON-EQUI JOIN은 조인 조건에 특정 범위 내에 있는지를 조사하기 위해서 WHERE 절에 조인 조건을 = 연산자 이외의 비교 연산자를 사용 ① 등급 테이블(salgrade)의 구조SQL> SELECT * FROM salgrade; 구조) -. 급여의 등급은 총 5등급으로 나누어져 있다. -. 1등급은 급여가 700부터 1200사이, 2등급은 급여가 1201부터 1400 사이, 3등급은 급여가 1401부터 2000 사이, 4등급은 급여가 2001부터 3000 사이, 5등급은 급여가 3001부터 9999 사이 ② salgrade 테이블에서 정보를 얻어와 각 사원의 급여 등급을 살펴보는 예제 SQL> SELECT e.ename, e.sal, s.grade FROM em.. 더보기
[Oracle] EQUI JOIN ■ EQUI JOIN -. EQUI JOIN은 가장 많이 사용하는 조인 방법으로 조인 대상이 되는 두 테이블에서 공통적으로 존재하는 컬럼의 일치되는 행을 연결하여 결과를 생성하는 조인 방법이다. ① 사원들의 소속 부서를 출력하기 위해서 두 개의 테이블을 조인한 경우SQL> SELECT * FROM emp, dept WHERE emp.deptno = dept.deptno; 풀이) -. 사원(emp) 테이블과 부서(dept) 테이블의 고통 컬럼인 deptno의 값이 일치(=)되는 조건을 WHERE절에 기술하여 사용 -. 두 테이블을 조인하려면 일치되는 공통 컬럼을 사용해야 한다. -. 컬럼의 이름이 같게 되면 혼돈이 오기 때문에 컬럼명 앞에 테이블 명을 기술한다. -. 조인문은 특별한 키워드 없이 SELEC.. 더보기
[Oracle] 조인의 기본 개념 ■ 조인의 기본 개념 -. 조인은 두 개 이상의 테이블을 결합해야만 원하는 결과를 얻을 수 있을 때 사용한다. ※ 조인을 필요로 하는 예 -. 특정 사원에 대한 부서명을 알아내기 위해서는 부서 테이블에서 정보를 얻어와야 하므로 두 테이블을 조인하여 원하는 데이터인 부서명을 얻어와야 한다. 01. 조인을 사용하지 않은 경우 SQL> SELECT ename, deptno FROM emp ORDER BY deptno; SQL> SELECT deptno, dname FROM dept; 02. 조인을 사용한 경우 SQL> SELECT ename, dname, emp.deptno, dept.deptno FROM emp, dept WHERE emp.deptno = dept.deptno; ※ 사원 번호가 7900번인 .. 더보기
[Oracle] HAVING 절 ■ HAVING 절 -. WHERE절이 SELECT문에서 조건 검색을 위해서 사용한다면 HAVING절은 GROUP BY 절에 의해 생성된 결과 값 중 원하는 조건에 부합하는 자료만 보고자 할 때 사용한다. ① 부서별로 평균을 구하되 나온 결과 값중에서 그 평균값이 2000 이상인 자료만 산출하는 예SQL> SELECT deptno, AVG(sal) FROM emp GROUP BY deptno HAVING AVG(sal) >= 2000; ② HAVING 절을 WHERE 절과 함께 사용하는 예제 -. 테이블에서 100 이상의 급여를 가지고 있는 사람들에 대해서만 부서별로 평균을 구한 후 구해진 부서별 평균 급여가 2000 이상인 부서 번호와 부서별 평균 급여를 출력한다.SQL> SELECT deptno, A.. 더보기
[Oracle] GROUP BY 절 ■ GROUP BY 절 -. GROUP BY 절은 최대 값이나, 최소 값, 합계, 평균 등을 어떤 컬럼을 기준으로 그 컬럼의 값별로 보고자 하는 경우 사용한다. -. 그룹함수를 쓰되 어떤 컬럼 값을 기준으로 그룹 함수를 적용해 줄지 기술해 주어야 하는데 GROUP BY절 뒤에 해당 컬럼을 기술하면 된다. SELECT 컬럼명 별칭, FROM 테이블명 WHERE 조건(연산자) GROUP BY 컬럼명; -. GROUP BY 절을 사용할 때 주의할 점은 GROUP BY절 다음에는 컬럼의 별칭을 사용할 수 없고, 반드시 컬럼명을 기술해야 한다는 점이다. -. 사원 테이블에서 부서별로 평균 급여를 구하려면 우선 전체 사원을 부서별로 그룹핑을 해야 한다. ① 소속 부서별 평균 급여를 구하는 예제SQL> SELECT .. 더보기