[Udemy] 11

20. Numeric and Date Data type SRFs

Numeric SRFs 첫 번째로 살펴볼 함수는 Round 함수입니다. 우선 이 함수는 2개의 인자를 받는데요. 첫 번째 인자로는 숫자 혹은 컬럼을 받고 두 번째 받을 인자로는 반올림할 위치값을 받습니다. 0.1 의 위치는 0입니다. 또한, Round 의 두 번째 인자의 Default 값은 0 인데요. 그래서 Round(147.5) 를 실행하면 148 이 반환되는 것을 확인할 수 있습니다. 다음으로 살펴볼 함수는 TRUNC 함수입니다. TRUNC 함수는 두 번째 인자로 주어진 자릿수 이하의 숫자를 버려주는 함수인데요. 예를 들어 5를 입력하면 6번째 자리수 이하의 자리들을 다 버리는 것을 확인할 수 있습니다. 이 함수의 Default 값도 마찬가지로 0이기 때문에 TRUNC(102.123) 을 실행하면 ..

19. Using Functions in WHERE And Character Based SRFs

SRF in WHERE Clause Select Clause 에서 SRF 를 사용하는 것을 지난시간에 배워보았는데요. SRF 는 WHERE Clause 에서도 요긴하게 사용할 수 있습니다. Where Clause 는 Filter 처리를 하기 위해서 사용했었는데요. WHERE Clause 에 해당하는 데이터들은 Qualified 되어 Data Greed 에서 확인할 수 있었습니다. 이런 WHERE Clause 의 기존 목적과 동일하게 Filter 의 목적으로 SRF를 Where Clause 에서 사용할 수 있습니다. 예를 들어 위와 같이 사용할 수 있는데요. initcap 은 각 단어의 첫 글자를 대문자로 바꾸어주는 함수입니다. 위의 함수처럼 SRF 을 Where Clause 에서 사용할 수 있습니다. S..

18. Single Row Functions & Using The Dual Table

Single Row Functions Functions 는 DB에서 사전에 특정한 동작을 수행하도록 작성된 것들입니다. 예를들어 두 수의 합을 구하는 SUM 같은 것들이 대표적입니다. 그리고 이런 함수 중에서 각각의 모든 행에 대해서 함수를 적용하는 것을 Single Row Function 이라고 부릅니다. 우리가 이미 사용했던 것 중에 Concat 이 대표적인 SRFs 라고 할 수 있겠습니다. 서로 다른 2개 이상의 컬럼과 값들을 하나로 만들어 하나의 값을 각가의 행에 대해서 반환하기 때문이죠. 위와 같은 것을 예시로 들 수 있는데요. 'hello' 를 upper 로 만드는 SRF 를 실행시키면 각각의 모든 행에 대해서 upper('hello') 가 적용되어 결과가 출력됩니다. 현재 EMP 테이블에는 ..

16. Ordering, Concatenating And Aliasing Query Results

Alias Alias 를 사용하는 이유는 무엇보다 DB에 익숙하지 않은 사용자들에게도 한눈에 알아보기 쉬운 형태로 정보를 전달하기 위해서인데요. Alias 를 지정할 때는 Where 절에서 특정 문자열을 사용할 때와는 다르게 " " double quote 를 사용해야 합니다. Single quote ' ' 를 활용하여 SQL을 작성하면 위와 같이 에러가 발생하고 있는 것을 확인할 수 있습니다. || Concat 만약 각 컬럼들에 대해서 특정한 문구를 함께 출력시키고 싶다면 Concat 을 활용하면 되는데, Oracle 에서는 || 를 활용합니다. || 는 영어로 Pipes 라고 합니다. Pipes 는 단어나 문장을 연결시켜주는 역할을 수행합니다. 위와 같은 SQL 을 실행하면 어떤 결과가 출력될까요? 컬..

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 에 있는 정보를 토대로 ..

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 도 정상적으로 처리되는 것을 확인할 수 있다.