작성일자 : 2023-07-09 수정일자 : 2023-07-23 Ver 0.1.2 1-1. ROWNUM Oracle의 ROWNUM은 칼럼과 비슷한 성격의 Pseudo Column으로써 SQL 처리 결과 집합의 각 행에 대해 임시로 부여되는 일련번호이며, 원하는 만큼의 행만 가져오고 싶을 때 WHERE 절에서 행의 개수를 제한하는 목적으로 사용한다. WHERE 절에 ROWNUM 조건을 사용하면 조회되는 행의 개수를 제한할 수 있다. ROWNUM = 1이나 ROWNUM >=1 등은 결과가 출력되긴 하지만 사용을 권장하지는 않는다. (ROWNUM
SQL
작성일자 : 2023-07-08 Ver 0.1.1 1. 스칼라 서브쿼리 SELECT 절에 사용되며 단일 값을 리턴하는 서브쿼리 메인 쿼리 집합의 각 행마다 실행되어 단일 값(1row, 1column)을 리턴하는 상관 서브쿼리 메인 쿼리 집합의 결과 건수는 스칼라 서브쿼리에 의해 변경되지 않는다. 서브 쿼리의 결과가 단일 행값이 아니면 에러가 발생한다. (2개 이상인 경우 집계 함수를 사용하여 집계 값을 구한다) 열이 2개 이상인 경우, 각각의 스칼라 서브 쿼리로 나눠 사용한다. 스칼라 서브 쿼리를 과다하게 남용하면 성능이 느려짐 SELECT a.empno , a.ename , a.deptno , (SELECT dd.dname FROM dept dd WHERE dd.deptno = a.deptno) AS ..
작성일자 : 2023-07-05 수정일자 : 2023-08-06 Ver 0.1.4 1-1. 필요성 관계형 데이터베이스의 구조적 특징으로 정규화를 수행하면 의미있는 데이터 집합으로 다수개의 테이블들이 구성되고 각 테이블끼리는 PK와 FK 값 들끼리 관계를 갖게 된다. 정규화를 통해 데이터베이스는 저장 공간의 효율성과 확장성이 향상된다. 이 과정에서 서로 관계가 있는 데이터가 여러 테이블로 나뉘어 저장되므로 각 테이블에 저장된 데이터를 효과적으로 검색하기 위해 Join이 필요하다. 조인은 두 테이블 간에 특정 컬럼(들)의 값을 비교하여, 비교 결과가 TRUE인 행들을 연결시킨다.FROM 절에는 조인할 테이블들을 콤마(,)로 구분하여 기술하고, WHERE 절에는 조인 조건(양쪽 테이블 컬럼들간의 비교 조건) ..
작성일자 : 2023-07-04 수정일자 : 2023-07-23 Ver 0.1.2 1. 날짜 쿼리문을 작성함에 있어서 날짜를 잘 다루는 것은 기본이자 필수이다. 나 같은 경우는 실제로 프로젝트 당시 태블로로 대시보드를 만든 후 원본 데이터로 검증을 할 때 WHERE 절에 년도 또는 월 등 기간 조건을 적용시켜 데이터를 검증을 많이 하곤 한다. 이럴 때 날짜 함수들을 많이 사용하였다. 뿐만 아니라 상황에 따라 날짜들 끼리 연산을 해야하는 경우도 있을 것이다. 지금부터 날짜 정보 추출하는 방법과 날짜 형식, 그리고 날짜 및 시간 연산에 대해서 정리해보도록 하겠다. When writing a query statement, it is both basic and essential to handle the date..