데이터베이스
-
계층형 질의데이터베이스 2021. 5. 16. 21:15
셀프조인 셀프조인이란 동인한 테이블 사이의 조인을 말한다. 따라서 from 절에 동일 테이블이 두 번이상 나타난다. 동일 테이블 사이의 조인을 수행하면 테이블과 컬럼 이름 모두 동일하므로 식별을 위해 반드시 테이블 별칭을 사용해야 한다. JONES 의 자식 노드를 조회하는 쿼리 (MGR가 JONES 의 EMPNO 인 행) SELECT B.EMPNO, B.ENAME, B.MGR FROM EMP A, EMP B WHRE A.ENAME = 'JONES' AND B.MGR = A.EMPNO; JONES 의 자식의 자식 노드를 조회하는 쿼리 (MGR이 JONES 의 자식인 SCOTT 와 FORM 의 EMPNO 인 행) SELECT C.EMPNO, C.ENAME, C.MGR FROM EMP A, EMP B, EMP..
-
TOP N 쿼리데이터베이스 2021. 5. 15. 16:10
ROWNUM / TOP N / ROW LIMITING 의 사용 1. ROWNUM ORACLE 에서 가져오고자하는 행 수를 제한할 때 ROWNUM < 2 와 같이 사용할 수 있다. 그런데 ORDER BY 로 정렬된 순의 데이터를 출력하고자 하는 의도는 ROWNUM을 잘못 사용 하는 것이다. 아래 ORDER BY 는 급여 순으로 정렬하고 위에 3개 행을 결과로 출력하는 것을 원했다면 원하는 결과가 나오지 않는다. 랜덤으로 데이터롤 3개 뽑은 후 그 데이터를 정렬해서 출력한다. ORDER BY 는 결과에 영향을 주지 않는다. SELECT ENAME, SAM FROM EMP WHERE ROWNUM < 4 ORDER BY SAL DESC; ORDER BY 가 없다면 ORACLE 의 ROWNUM 조건과 SQL SE..
-
윈도우 함수데이터베이스 2021. 5. 15. 14:26
기존 관계형 데이터베이스는 컬럼과 컬럼 간의 연산, 비교, 연결이나 집합에 대한 집계는 쉬운 반면, 행과 행간의 관계를 정의하거나 행과 행간을 비교, 연산하는 것을 하나의 SQL 에서 처리하는 것은 매우 어려운 문제였다. 부분적이나마 이를 쉽게 하기 위해 만든 함수가 바로 WINDOW FUNTION 이다. 분석함수, 순위 함수로 알려진 윈도우 함수는 데이터 웨어하우스에서 발전한 기능이다. 윈도우 함수는 기존의 사용하던 집계함수도 있고, 새로이 윈도우 전용 함수로 만들어진 기능도 있다. 그리고 윈도우 함수는 다른 함수와 달리 중접해서 사용하지는 못하지만, 서브 쿼리에서는 사용할 수 있다. 종류는 크게 다섯 개의 그룹으로 분류할 수 있다. 그룹 내 순위(RANK) 함수 RANK DENSE_RANK ROW_N..
-
그룹함수데이터베이스 2021. 5. 11. 22:06
그룹함수의 종류 AGGREGATE FUNCTION COUNT,SUM,AVG,MAX,MIN 등 각종 집계 함수 2021.05.05 - [데이터베이스] - SQL 기본과 활용 (단일함수, 집계함수) GROUP FUNCTION ROLLUP : 집계함수를 제외, 소그룹 간 소계를 계산 CUBE : GROUP BY 항목 간 다차원적인 소계를 계산 GROUPING SET : 특정 항목에 대한 소계를 계산 WINDOW FUNCTION RANK DENSE_RANK ROW_NUMBER SUM,MAX,MIN,COUNT FIRST_VALUE LAST_VALUE LAG LEAD RATIO_TO_REPORT PERCENT_RANK CUME_DIST NTILE 2021.05.15 - [데이터베이스] - 윈도우 함수 GROUP F..
-
-
서브쿼리데이터베이스 2021. 5. 8. 21:59
where 절 서브쿼리 select 절 서브쿼리 (스칼라 서브쿼리) from 절 서브쿼리 (인라인뷰) HAVING 절에서 서브쿼리 사용하기 INSERT , UPDATE, DELETE 에서 서브쿼리 서브쿼리는 메인 쿼리의 컬럼을 모두 사용할 수 있다. 메인 쿼리는 서브 쿼리의 컬럼을 사용할 수 없다. 질의 결과에 서브쿼리 컬럼을 표시해야 한다면 조인 방식으로 변환하거나, 함수, 스칼라 서브 쿼리 등을 사용해야한다. 서브 쿼리는 서브 쿼리 레벨과는 상관없이 항상 메인 쿼리 레벨로 결과 집합이 생성된다. 만약 메인 쿼리로 조직(1) , 사원(M) 을 사용하면 결과 집합은 조직(1) 레벨이다. 하지만 조인 같은 경우 조직(1) * 사원(M)을 해 결과 집합은 사원(M) 집합이 생성된다. 만약 결과가 조직 레벨이..
-
조인데이터베이스 2021. 5. 8. 17:38
조인은 두 개 이상의 테이블을 연결해 데이터를 출력하는 것으로, 관계형 데이터베이스의 가장 큰 장점이면서 핵심기능이다. 일반적인 경우 PK,FK 연관관계에 의해 조인이 성립되지만, 이런 관계가 없어도 논리적인 값들의 연관으로 조인이 성립될 수도 있다. WHERE 절의 조인 EQUI JOIN 등가 조인은 두 개의 테이블 간에 컬럼 값들이 서로 정확하게 일치하는 경우에 사용되는 방법으로 대부분 PK-FK 관계를 기반으로 하지만 반드시 그런 것은 아니다. 이 기능은 계층형이나 망형 데이터베이스와 비교할 때 관계형 데이터베이스의 큰 장점이다. JOIN 조건은 WHERE 절에 기술하는데 "=" 연산자를 사용해 표현한다. SELECT 테이블1.컬럼 , 테이블2.컬럼 FROM 테이블1, 테이블2 WHERE 테이블2...
-
단일함수, 집계함수데이터베이스 2021. 5. 5. 20:54
자주 쓰는 데이터 유형 CHARACTER , VARCHAR, NUMERIC, DATETIME 이 있다. *CHAR와 VARCHAR 의 차이 CHAR 는 고정된 문자, VARCHAR 는 가변적 문자를 받는다. CHAR 자료형에 정해진 데이터크기보다 작은 데이터를 넣으면 나머지가 공백으로 채워진다. CHAR 에서 'AA' 와 'AA ' 는 동일한 데이터가 될 수 있지만, VARCHAR 에서 둘은 다른 데이터이다. 단일행 함수의 종류 종류 내용 함수의 예 문자형 함수 문자 입력, 문자나 숫자를 반환 LOWER, UPPER, ASCII, CHR/CHAR, CONCAT, SUBSTR/SUBSTRING, LENGTH/LEN, LTRIM,RTRIM,TRIM 숫자형 함수 숫자 입력, 숫자 반환 ABS,SIGN, MOD..