본문 바로가기

database

(11)
oracle - SUB QUERY, EXISTS 등 19.12.04. SUB QUERY, EXISTS 등 데이터베이스 구현 2019-12-05 20:52:42 ▶ 서브 쿼리의 분류 (사용 위치) 1. SELECT 에서 사용 : 스칼라 서브쿼리(Scalar subquery). 하나의 행, 하나의 컬럼만 리턴하는 서브쿼리. 2. FROM 에서 사용 : Ilin view 3. WHERE 에서 사용 : 서브쿼리. ▶ 서브쿼리의 연산자 ( 멀티로우 연산자) 1. IN : 서브쿼리 결과 중 같은 값이 있을 때. 2. ANY : 서브쿼리 결과중 만족하는 것이 하나라도 있을 때. 3. ALL : 서브쿼리 결과를 모두 만족시킬 때. ▶서브쿼리에서 NULL, NOT IN : NOT IN 연산자 사용 시 NULL 이 데이터에 존재하지 않아야 정상 동작한다. ▶ Pairwis..
oracle - Inner join, Cross join 19.12.03. Inner join, Cross join, 데이터베이스 구현 2019-12-05 20:24:52 ▶inner join 컬럼 연결이 성공하는 데이터만 나오는 join ▶corss join ( = cartensian product) 별도의 조인 조건이 없는 경우. 묻지마 조인. 두 테이블의 행수를 곱한 수 만큼의 결과. 테이블 간 적용하는 경우보다 데이터 복제를 위해 사용됨. 오라클 문법에서는 where절에 없는 조인을 말함.
oracle - OUTER JOIN 19.12.02. OUTER JOIN 데이터베이스 구현 2019-12-02 22:53:41 ▶OUTER JOIN 컬럼 연결이 실패해도(JOIN이 실패해도) 기준이 되는 테이블의 데이터가 나오도록 하는 JOIN 방법. 1. left[right] outer join : 테이블 1 LEFT[RIGHT] OUTER JOIN 테이블2 테이블 1과 테이블 2를 조인할 때 조인에 실패하더라도 테이블 1쪽의 테이터는 조회되도록 한다. 조인에 실패한 행에서 테이블 2의 컬럼값은 존재하지 않으므로 NULL 로 표시. RIGHT 의 경우 테이블 2쪽의 데이터가 조회되고, 테이블 1이 NULL로 표시. 2. full outer join : LEFT OUTER JOIN + RIGHT OUTER JOIN 에 중복된 것을 제거한 ..
oracle - GROUP, JOIN, EXERD 다운로드 19. 11. 27. GROUP, JOIN, EXERD 다운로드 데이터베이스 구현 2019-12-02 22:37:20 ▶ GROUP FUNCTION -단위를 무엇으로 하냐에 따라 결과가 다르다. -WHERE 절도 올 수 있음. -특정 컬럼이나 표현으로 여러 행의 값을 한 행의 결과로 생성. -FUNCTION : AVG, COUNT, MAX, MIN, SUM -GROUP BY 절에 작성된 컬럼 이외의 컬럼은 SELECT 절에 올 수 없다. (= GROUP BY 절에 작성되어야만 SELECT 절에 올 수 있다.) SELECT [column, ], group function(column) FROM table [GROUP BY column,] [HAVING group function condition] [ORD..
oracle - CONDITION, VIRTUAL BOX 설치 19.11.26. CONDITION, VIRTUAL BOX 설치 데이터베이스 구현 2019-12-02 00:22:08 1. CASE : CASE 로 시작해서 END 로 끝남. WHEN절이 가운데에 여러번 들어갈 수 있다. DEFAULT : ELSE -- SELECT ename, job, sal, CASE WHEN job = 'SALESMAN' THEN sal * 1.05 WHEN job = 'MANAGER' THEN sal * 1.10 WHEN job = 'PRESIDENT' THEN sal * 1.20 ELSE sal END bonus, comm, FROM emp; => job 이 '~~' 일 경우 각각 sal 에 일정 값을 곱했음. 해당되지 않을 경우 원래의 sal 을 리턴한다. 컬럼의 알리아스는 b..
oracle - 형변환의 종류, 숫자포맷, NULL처리 함수 19.11.26. 형변환의 종류, 숫자포맷, NULL처리 함수 데이터베이스 구현 2019-12-02 00:09:37 형 변환 1. 명시적 형 변환 -TO_NUMBER -TO_DATE -TO_CHAR 2. 묵시적 형 변환 -VARCHAR2 or CHAR -> NUMBER -VARCHAR2 or CHAR -> DATE -NUMBER -> VARCHAR2 -DATE -> VARCHAR2 *묵시적 형 변환이 일어나지 않도록 데이터 타입을 잘 적어야 한다. -- SELECT * FROM emp WHERE empno = '7369' => 여기서 묵시적 형변환이 일어났음. empno 의 값들은 NUMBER 타입인데, 문자열을 검색했는데도 정상적으로 조회가 된다. SELECT * FROM emp WHERE empno ..
oracle - 문자열, 숫자, 날짜 조작 함수 19.11.25. 문자열, 숫자, 날짜 조작 함수 데이터베이스 구현 2019-12-01 23:39:02 함수 function. 크게 single row function 과 multi row function 으로 나눌 수 있다. -single row function : 단일 행을 기준으로 작업하고, 행당 하나의 결과를 반환한다. ex) 특정 컬럼의 문자열 길이 : length(ename) -multi row function : 여러 행을 기준으로, 하나의 결과를 반환. ex) 그룹 함수 : count, sum, avg * DUAL TABLE sys 계정에 있는 테이블로, 누구나 사용 가능하다. dummy 컬럼 하나만 존재하며 값은 'X' 이며 데이터는 한 행만 존재. 사용 용도 : 데이터와 관련 없이 함수..
oracle - 연산자 우선순위, ORDER BY, ROWNUM 19.11.22. 연산자 우선순위, ORDER BY, ROWNUM 데이터베이스 구현 2019-12-01 21:39:14 객체의 이름은 30자 이내, 무조건 알파벳으로 시작. 숫자, 특수문자 중에는 _, $ 사용 가능. 객체의 이름은 무조건 대문자로 저장된다. -- != 사용 SELECT * FROM emp WHERE deptno !=10 AND hiredate > TO_DATE('19810601','yyyymmdd'); => emp 테이블에서 부서 번호가 10이 아니고, 입사날짜가 1981.06.01 이후인 직원 조회. --위에 것 NOT IN 사용 SELECT * FROM emp WHERE deptno NOT IN (10) AND hiredate > TO_DATE('19810601','yyyymmdd'..