전체 글 1097

IN Clause

IN Clause IN Clause 의 사용 목적은 무엇일까? 부서 번호가 20번 혹은 30 번인 직원들의 이름과 채용일을 검색하기 위한 SQL이다. DEPTNO 이라는 속성명이 반복해서 등장하는 것을 확인할 수 있는데, 이런 반복적인 등장을 피하기위해서 사용하는 것이 IN Clause 라고 할 수 있다. IN Clause 를 사용하면 반복해서 등장하던 속성명을 한 번 만 사용할 수 있는 편리함을 얻을 수 있다. 개인적으로 Udemy 강의가 참 좋은 점이 이렇게 사소한 것들조차도 Why ? 질문을 빼먹지 않고 파고드는 점이 너무 마음에 든다. 이런 것들이 기초가 되고 기초체력이 되어서 나중에 나를 개발자로서 지탱해줄 것이라고 믿어 의심치 않는다. 만약 IN Clause 가 없었다면 위와 같이 Or Cla..

15. Query Filtering Conditions & Operator Precedence

Or 연산자에 대한 또 다른 이해 위의 SQL 은 옳게 작성된 SQL(시퀄) 일까요? 직원 테이블에서 커미션이 NULL이고 급여가 1100과 5000 사이이고, 3000이 아닌 직원 혹은 커미션이 0 인 직원을 보여주는 SQL 인데요. 옳게 작성된 SQL 이라고 보기가 어렵습니다. 만약에 OR 연산자의 위치를 위와 같이 한 줄 위로 이동시키면 SQL은 전혀 다른 SQL이 되는데요. 위와 같이 OR 연산자를 중심으로 2개의 조건절로 나뉘게 되는 것을 볼 수 있습니다. 위와 같이 명확하게 한 조건에 대해서 Parenthesis 로 묶어주어야 합니다. (Wrapped in Parenthesis) Parenthesis 로 묶인 조건들은 마치 하나의 조건인 것 처럼 묶여서 처리됩니다(Evaluated Togeth..

8. Using the WHERE Clause in a Query

case sensitive SQL 은 기본적으로 Case Sensitive 하지 않다. 대소문자를 가리지 않는데, 유의할 점이 하나 있다. 위 두 개의 SQL Statement 는 전혀 다른 결과를 가져온다는 것이다. 'when it comes to comparison, it is strict' Select clause 동작 과정 살펴보기 Apex 에서 oracle 을 통해서 select 구문을 실행하면 위와 같은 과정을 통해서 select 를 하게 된다. 우선 SQL 을 Oracle 이 설치된 서버에 보내게되면, Oralce 서버는 SQL 이 적절하게 작성되었는지를 판단하고, 적절하다면 작업을 이어가게 된다. From clause 가 우선 실행되는데, 이때 From clause 에 있는 정보를 토대로 ..

SQLD 인덱스 종류

인덱스 종류 1) B-TREE 인덱스는 브랜치 블록과 리프 블록으로 구성되며, 브랜치 블록은 분기를 목적으로 하고 리프블록은 인덱스를 구성하는 값으로 정렬된다. 2) CLUSTERED 인덱스는 인덱스의 리프 페이지가 곧 데이터 페이지이며, 리프 페이지이ㅡ 모든 데이터는 인ㄷ게스 키 컬럼 순으로 물리적으로 정렬되어 저장된다. 3) BITMAP 인덱스는 시스템에서 사용될 질의를 시스템 구현 시에 모두 알 수 없는 경우인 DW 및 AD-HOC 질의 환경을 위해서 설계되었으며, 하나의 인덱스 키 엔트리가 많은 행에 대한 포인터를 저장하고 있는 구조이다. 출처 https://www.youtube.com/watch?v=o8ArmTaIp9w

SQLD 옵티마이저와 실행계획 (DB 내부의 동작흐름)

출처 : https://www.youtube.com/watch?v=o8ArmTaIp9w 옵티마이저란? 옵티마이저는 DB 내부의 핵심 엔진이다. SQL을 어떻게 실행할지 결정하는 두뇌라고 생각할 수 있습니다. 실행 계획이라는 것이 생성되는데, 실행 계획이라는 것은 옵티이저가 알아낸 실행 방식을 의미합니다. 실행 계획은 실행 SQL과 함께 캐시 메모리에 저장이 됩니다. 이 엔진이 내부에서 SQL 을 마주했을 때 처리하는 과정에 대해서 알아보겠습니다. 옵티마이저의 처리과정 1) Parser SQL 이 들어왔을 때 처음 동작하는 친구이다. SQL의 문법적 혹은 의미적 오류가 있는지 확인합니다. 그리고 나서 SQL과 실행계획이 캐시 메모리에 이미 존재하는지 확인합니다. 이미 저장되어 있다면 또 생성할 필요가 없기..

7. Retrieving Data Using the SELECT Clause

Understanding of SQL select * from EMP; 라는 문장은 SQL Statement 라고 할 수 있고, SQL Statement 안에는 다양한 keyword 로 구성되어 있다. select 로 하나의 keyword 이다. select keyword needs minimum expression like we just did at the moment. select keyword 의 Expression 은 다음과 같다. Select From 이것이 select minimum expression 이다. 이러한 Select expression 을 우리는 Query 라고도 부른다. Select expression 을 통해 우리는 DB의 데이터를 바꾸지 않고 그저, 어떤 정보들이 DB 안에 ..

3. IMPORTANT: Prepare the Sample Data

Sample Data 준비하기 SQL Workshop 에서 Utilities 클릭 Sample Datasets 클릭 EMP / DEPT 라는 예비 데이터를 설치한다. 설치에 성공하면 위와 같은 화면을 보게 된다. SQL Workshop 으로 돌아가면 Table 들이 생성되어 있는 것을 확인할 수 있다. SQL Commands Practice 위와 같이 SQL 을 입력한 후에 실행하고자 하는 SQL 을 복사해서 RUN 버튼을 클릭하면 아래와 같이 검색되는 결과를 확인할 수 있다. 위에 있는 Row 에 입력하는 것은 검색 결과의 행 수를 제한하는 것이다. dept 테이블에 대한 SQL 도 정상적으로 처리되는 것을 확인할 수 있다.

2. Creating the workspace in oracle

Apex workspace 생성하기 오라클을 인터넷에서 손쉽게 접근할 수 있는 것이 Apex 인데, start for free today 를 클릭해서 진행하자. free apex workspace 클릭 회원가입 진행, 여기서 주의할 점은 WorkSpace 이름을 자신만의 unique 로 설정해서 진행해야하고, 잊어버리면 안되니까 어디에 적어주자. 요청을 완료하면 입력한 이메일 주소로 메일이 날아오게 된다. 이런 이메일이 3분 이내로 도착하게 된다. 비밀번호를 설정해준다. 나만의 workspace 생성 완료다. SQL Workspace 를 클릭하면 위와 같이 SQL Commands 메뉴가 나온다. 이 화면에서 SQL 을 테스트할 수 있다.