본문 바로가기
반응형

SQL 기본16

[SQL 기초 - 19장] 오라클 SQL 계층형 쿼리(2), 윈도우 함수 안녕하세요!오늘은 어제 배웠던 계층형 쿼리 연습과 윈도우 함수를 알아보려고 합니다!!​시작하기 전에 지난시간 내용을 복습 하실 분들은 ↓↓↓↓↓↓↓↓↓↓↓↓​오라클 계층형쿼리 알아보기​계층형 쿼리 연습제가 드린 h_sum 테이블 입니다.위의 테이블을 지난 시간에 배웠던 계층형 쿼리를 통해서 ​위와 같은 형식을 만드는 연습을 해보겠습니다.​그럼 시작점을 먼저 찾아줘야 겠죠?시작점은 가장 상위 노드인 지점을 작성해주면 되겠고,연결 부분은 행과 행을 연결해줄 수 있는 컬럼들로 구성하면 되겠네요.​위의 쿼리처럼 작성하시면 됩니다.SELECT 절은 지난 시간에 말씀드린대로그냥 눈으로 보기 좋게 하기 위해 LPAD 를 사용 해준것입니다.​​다음으로 가지치기 라는 개념에 대해서 설명 하려고 합니다. 제가 초반에 한 .. 2024. 12. 30.
[SQL 기초 - 18장] 오라클 SQL 계층형 쿼리 안녕하세요! 오늘은 계층형 서브쿼리를 배워보겠습니다.​그 전에 지난 시간 내용 복습하실 분들은 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓​오라클 rollup, 향상된 groupby 알아보기​WITHWITH 로 시작 하겠습니다.WITH 는 사실상 많이 사용하지는 않습니다.가볍게 개념 설명하고 예시 한 가지 들고 넘어가겠습니다.​쿼리 블럭을 생성하고 같이 실행되는 SQL 에서 해당 쿼리 블럭을 반복적으로 사용할 때성능 향상 효과를 기대할 수 있습니다. WITH 절에 기술된 쿼리 블럭은 메모리에 한번만 올리기 때문에 쿼리에서 반복적으로 사용하더라도 실제 데이터를 가져오는 작업은 한 번만 실행합니다.​하지만, 하나의 쿼리에서 동일한 서브쿼리가 반복적으로 사용 된다는 것은 쿼리를 잘못 작성할 가능성이 높다는 뜻으로,.. 2024. 12. 27.
[SQL 기초 - 17장] 오라클 SQL rollup(2), 확장된 GROUP BY, 서브쿼리 응용 안녕하세요!오늘은 지난시간에 이어서 ROLLUP 과CUBE, GROUPING SETS 에 대해서 알아보려고 합니다.지난 시간 내용이 기억나지 않는분들은 복습을 하고 오시길 바랍니다!rollup, multiple insert 알아보기ROLLUP오늘은 지난 번에 배웠던 ROLLUP 과 GROUPING 함수를 바탕으로문제를 풀어보도록 하겠습니다.​위와 같은 결과를 조회하기 위해서는 어떻게 해야 할까요?지난 번에 봤던 결과와는 조금 다르네요지난번에는 NVL 을 이용해서 위의 '총' 부분을 '총계'로 표현을 했고'소계'와 '계'는 null 이었는데요,오늘은 나머지 null 들을 저렇게 '소계'와 '계'로 바꿔 주셔야 합니다.​네 이렇게 결과를 조회하고 끝났었네요.GROUPING 함수를 보면 조금 감이 오시나요?G.. 2024. 12. 26.
[SQL 기초 - 16장] 오라클 SQL multiple insert, merge, rollup(1) 안녕하세요!오늘은 DML 의 응용에 대해서 배워보겠습니다.insert, merge, group function 에 대해 알아볼거에요.​시작하기 전에 테이블 정보가 없으신 분들은 아래 링크에서 받아주세요!↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓오라클에 데이터넣기​Multiple Insert​우리가 배웠던 INSERT 구문은 한 번에 한 줄의 데이터만 입력하는 방식이었습니다.하지만 오늘 배울 multiple INSERT 구문은 한 번에 여러 줄의 데이터를 입력할 수 있습니다.​multiple INSERT 구문은 총 세가지가 있습니다.1. unconditional INSERT : 조건과 관계없이 하나의 데이터를 여러 테이블에 입력2. conditional all INSERT : 조건을 만족하는 모든 테이블에.. 2024. 12. 23.
[SQL 기초 - 15장] 오라클 SQL 인덱스(2) (feat. 실행계획) 안녕하세요! 오늘은 지난 시간에 이어서 인덱스에 대해서 설명해보려고 합니다.인덱스인덱스의 역할지난번에 제가 인덱스를 설명할 때 '책의 목차와 비슷한 것이다' 라고 설명했던것 같은데요그 말은 인덱스를 사용하면 데이터를 찾을 때 좀 더 빠르게 찾을 수 있다는 것입니다.​우리는 데이터를 찾을 때 테이블을 조회하고 하나씩 찾아봅니다.하지만 그 테이블의 데이터들은 ORDER BY 를 쓰지 않는 이상데이터의 순서가 뒤죽박죽 이겠죠.​따라서 데이터를 조회할 때 빠르게 조회하려면 정렬이 되어 있어야 합니다. 지난 글에서 인덱스의 특징들을 설명을 했었죠?그 중에서 인덱스는 '테이블의 일부 컬럼을 기준으로 데이터를 정렬한 객체'라고 했는데요, 이 특징덕분에 더욱 빠르게 데이터를 찾을 수 있습니다.​​ 그럼 인덱스를 이용해.. 2024. 12. 20.
[SQL 기초 - 14장] 오라클 뷰, view 사용 이유, 시퀀스, 인덱스(1) 안녕하세요! 밀린 과제처럼 업로드를 하려고 열심히 글을 작성하고 있습니다..ㅎ요즘 너무 바쁘지만 그래도 화이팅해서 내용 전달 해보겠습니다!​오늘은 뷰(view) 와 시퀀스(sequence) 그리고 인덱스(index) 에 대해서 알아보려고 합니다.​자바와 마찬가지로 오라클에도 객체의 개념이 있습니다.오라클 객체 및 view​1. table : 데이터를 저장할 수 있는 공간2. view : SQL => 실제 데이터가 존재하는 것이 아님. 논리적인 데이터 집합의 정의(* view table 은 잘못된 표현이에요!)​view 생성방법view 부터 살펴 보겠습니다.문법 먼저 보면위와 같이 작성 할 수 있습니다.테이블과 인덱스도 동일한 문법을 갖추고 있습니다.​그럼 view 를 한 번 생성해 보겠습니다.​emp 테.. 2024. 12. 19.