본문 바로가기

전체 글123

[Oracle] 여러 테이블 데이터 조인 (ON절) 여러 테이블 데이터 조인 (ON절) : WHERE절 대신 사용하는 ON절 - ANSI/ISO SQL:1999 standards 조인 * JOIN 작성법 두 가지 - 오라클 조인 - ANSI/ISO SQL:1999 standards 조인 - 오라클 조인 조인 작성법 종류 오라클 조인 EQUI JOIN NON EQUI JOIN OUTER JOIN SELF JOIN - ANSI/ISO SQL:1999 standards 조인 조인 작성법 종류 ANSI/ISO SQL:1999 standards 조인 ON절을 사용한 JOIN LEFT/RIGHT/FULL OUTER JOIN USING절을 사용한 JOIN NATURAL JOIN CROSS JOIN ON절 기본형 SELECT t1.column1 as nickname1,.. 2020. 9. 14.
[Oracle] 여러 테이블 데이터 조인 (SELF JOIN) 여러 테이블 데이터 조인 (SELF JOIN) : 자기 자신 테이블과 조인 - 하나의 테이블에 두개의 별칭을 지정 SELECT t1.column1 as nickname1, t1.column2 as nickname2, t2.column1 as nickname3, t2.column2 as nickname4 FROM tablename1 t1, tablename1 t2 WHERE t1.column3 = t2.column4 and t1.column2='KOREA'; : column3과 column4가 같고 column1이 'KOREA'일 때, column1은 nickname1과 nickname3로 출력하고, column2는 nickname2와 nickname4로 출력함 2020. 9. 14.
[Oracle] 여러 테이블 데이터 조인 (OUTER JOIN) 여러 테이블 데이터 조인 (OUTER JOIN) : EQUI JOIN으로 볼 수없는 결과 데이터 출력 - EQUI JOIN 시 조인조건에 포함되지 않는 행은 출력되지 않음 SELECT t1.column1, t2.column2 FROM tableanme1 t1, tablename2 t2 WHERE t1.column3 (+) = t2.column3; * (+) : OUTER JOIN 사인 - 결과가 덜 나오는 쪽(위에서는 column3)에 붙여줌 RIGHT OUTER JOIN : 오른쪽 테이블(t2)에는 존재하고 왼쪽(t1) 테이블에는 존재하지 않는 데이터도 출력 LEFT OUTER JOIN : 왼쪽 테이블(t1)에는 존재하고 오른쪽(t2) 테이블에는 존재하지 않는 데이터도 출력 2020. 9. 11.
[Oracle] 여러 테이블 데이터 조인 (NON EQUI JOIN) 여러 테이블 데이터 조인 (NON EQUI JOIN) : 조인하는 컬럼들 간의 연결조건이 '=' 이 아닐 때 SELECT t1.column1, t1.column2, t2.column3 FROM tablename1 t1, tablename2 t2 WHERE t1.column2 BETWEEN t2.column4 AND t2.column5; : t1.column2의 값이 t2.column4~t2.column5 사이에 있을 경우 t1.column1, t1.column2, t2.column3를 조인함 - NTILE() 함수보다 자유롭게 등급 범위를 지정해 사용할 수 있음. 2020. 9. 11.
[Oracle] 여러 테이블 데이터 조인 (EQUI JOIN) 여러 테이블 데이터 조인 (EQUI JOIN) : 서로 다른 테이블에 있는 컬럼을 하나의 결과로 출력함 - 조인 조건이 '=' 인 조인 기본형 SELECT column1, column2 FROM tablename1, tablename2 WHERE tablename1.column3 = tablename2.column3; : 각 테이블의 column3가 같을 때 column1, column2를 조인함 - column1, column2가 각각 서로 다른 행에 있을 때 FROM절에 각 두 테이블을 모두 써야함 - column3가 두 테이블 모두에 존재할 때, 두 테이블의 연결고리로 사용 SELECT column1, column2 FROM tablename1, tablename2; : WHERE절(조인조건)을 사.. 2020. 9. 11.
[Oracle] 출력 행 제한 (Simpe TOP-n Queries) 출력 행 제한 (Simpe TOP-n Queries) : 출력 데이터 건수 제한 기본형 ROW 개수 SELECT column1, column2, column3, column4 FROM tablename ORDER BY column4 DESC FETCH FIRST 10 ROWS ONLY; : column1, column2, column3, column4를 출력하되 column4를 기준으로 내림차순 정렬하고 위쪽 10개 행으로 제한해 출력 PERCENT SELECT column1, column2, column3, column4 FROM tablename ORDER BY column4 DESC FETCH FIRST 10 PERCENT ROWS ONLY; : column4를 기준으로 내림차순 정렬하고 상위 10.. 2020. 9. 11.
[Oracle] 출력 행 제한 (ROWNUM) 출력 행 제한 (ROWNUM) : 출력 데이터에 번호 부여 SELECT ROWNUM, column1, column2, column3, column4 FROM tablename WHERE ROWNUM 대용량 테이블 상단 행 확인에 유리 2020. 9. 11.
[Oracle] 데이터 분석 - 출력 결과 넘버링 (ROW_NUMBER) 데이터 분석 - 출력 결과 넘버링 (ROW_NUMBER) : 출력 순서대로 넘버링함 SELECT column1, column2, column3, RANK() OVER(ORDER BY column3 DESC) as RANK, DENSE_RANK() OVER(ORDER BY column3 DESC) as DENSE_RANK, ROW_NUMBER() OVER(ORDER BY column3 DESC) as NUMBERING FROM tablename WHERE column4=100; : RANK(), DENSE_RANK()와 다름. - ROW_NUMBER()는 OVER(ORDER BY절)의 ODER BY절을 반드시 작성해야함 SELECT column1, column2, column3, ROW_NUMBER() O.. 2020. 9. 10.
[Oracle] 데이터 분석 - 집계 결과 출력 (GROUPING SETS) 데이터 분석 - 집계 결과 출력 (GROUPING SETS) : 집계할 컬럼을 선택해 추가 집계함 SELECT column1, column2, SUM(column3) FROM tablename GROUP BY GROUPING SETS((column1), (column2), ()); : column1별 합계, column2별 합계, 토탈 합계를 출력함 GROUPING SETS 출력 결과 GROUPING SETS((column1), (column2), ()) column1별 합계, column2별 합계, 토탈 합계 GROUPING SETS((column1), (column2)) column1별 합계, column2별 합계 GROUPING SETS((column1, column2), ()) column1의 c.. 2020. 9. 10.