본문 바로가기
728x90

Programming/SQL8

SQL / 오라클 문법 / KEEP 함수 오라클 문법 KEEP 함수 KEEP 뜻과 사용 방법 KEEP은 특정 컬럼을 정렬한 후에 찾은 한 행이 있다면, 그 행의 다른 정보들을 알고싶을때 쓴다. KEEP 은 보통 FIRST, LAST 와 함께 사용한다. 즉, FIRST, LAST의 기준에 따라 최대값을 찾을지 최소값을 찾을지 정할 수 있다. 예를 들면, 직원 테이블에서 직원이름 컬럼과 연봉 컬럼이 있을때 연봉이 가장 높은 직원의 이름을 찾는 경우가 있다. 여기서 DENSE_RANK 함수는 해당 그룹에서 값의 순위를 계산한다 . RANK와의 차이점은 같은 순위가 두개 이상 있다면, 다음 순위는 1만 증가하여 반환한다는 점이다. 정렬을 통해 나온 값들을 유지할때 아래와 같이 서브쿼리를 사용할 수도 있지만 KEEP을 사용하면 소스를 간결하게 작성할 수.. 2021. 4. 9.
SQL / 조인 / Inner Join / Outer Join / Non-equi Join / Self Join Join ( Oracle ) 1. Inner Join 2. Outer Join 3. Non-equi Join 4. Self Join Join : 두 개 이상의 테이블을 서로 묶어서 하나의 테이블로 출력하는 것 1. Inner Join 이너 조인은 서로 매칭되는 행에 대해서만 묶어서 조회한다. 가장 보편적이다. SELECT * FROM EMPLOYEE INNER JOIN DEPARTMENT ON EMPLOYEE.DepartmentID = DEPARTMENT.DepartmentID; SELECT * FROM EMPLOYEE, DEPARTMENT WHERE EMPLOYEE.DepartmentID = DEPARTMENT.DepartmentID; 2. Outer Join 아우터 조인은 매칭되지 않는행도 함께 jo.. 2021. 3. 16.
SQL / DDL (Data Definition Language) 데이터 정의어 DDL (Data Definition Language) 1. Create 2. Alter 3. Drop 4. Truncate DDL : 데이터를 담는 그릇을 정의하는 언어 DDL로 관리하는 대상 : Dmain (도메인), Schema (스키마/DB구조), Table(테이블), View (뷰), Index (인덱스) 1. Create - 생성 create table board( no number, id varchar2(20) primary key, title varchar2(20) not null, content nvarchar2(2), name char(10), regdate date); constraint emp2_empno_pk primary key(empno)); commit; # 트랜젝션 확정 (.. 2021. 3. 16.
SQL / 서브쿼리 / Inline View 인라인뷰 / Scala Subquery 스칼라 서브쿼리 SubQuery 1. 단일행 서브쿼리, 2. 다중행 서브쿼리, 3. 다중컬럼 서브쿼리, 4. Inline View, 5. 스칼라 서브쿼리 서브쿼리 : 쿼리문 안에 포함되어 있는 또 하나의 쿼리문 1. 단일행 서브쿼리 서브쿼리의 결과가 1행. 등호, 부등호 이용 ex) SQL> select ename, hiredate, sal 2 from emp 3 where sal >= (select avg(sal) 4 from emp 5 where hiredate between '1982/01/01' and '1982/12/31'); 2. 다중행 서브쿼리 서브쿼리의 결과가 여러 행. in, >all, any, create view myempview 2 as 3 select deptno,max(sal) maxsal # .. 2021. 3. 14.
SQL / 그룹 연산 함수 / group by / having절 SQL 그룹 함수 group by 그룹 연산 함수 그룹 함수는 검색된 여러 행의 통계정보를 연산하는 함수이다. SQL> select sum(sal), avg(sal), max(sal), min(sal), count(sal) 2 from emp; group by 특정 속성을 기준으로 그룹화하여 검색할 때 쓰이는 절이다. 예제 ) 부서 이름(department_name) 별 직원들의 평균연봉(salary) 을 조회하시오. 단,'30번’ 부서의 직원 평균 연봉보다 평균 연봉이 이하인 부서 정보만 출력 select d.department_name, avg(e.salary) from employees e, departments d where e.department_id=d.department_id group by.. 2021. 3. 13.
SQL / Oracle 오라클 / 함수 정리 (문자/숫자/날짜/변환/조건/NULL) SQL 단일행 함수 정리 1.문자 2.숫자 3.날짜 4.변환 5.조건 6.NULL ※ 오라클에서는 index가 1부터 시작 1. 문자 함수 SQL> select ename, length(ename) 2 from emp; where length(ename)>=6; SQL> select initcap('oracle'), upper('oracle'), lower('ORACLE') 2 from dual; dual table은 임시로 함수 연산해볼수있는곳. 오라클 자체에서 제공된다. select concat(concat(ename,'의 급여'),concat(sal,'만원')) concat : 문자열 연결, 합치기 SQL> select instr('java programming','a',3,2) from dual;.. 2021. 3. 13.
728x90