SQL/DML - SELECT

작성일자 : 2023-07-10 수정일자 : 2023-07-23 Ver 0.1.2 1. 사용법 오라클 SQL에서 GROUP BY 절을 사용하여 그룹별 건수나 합계 등의 집계 값들을 얻을 수 있다. 그룹별 집계된 결과 중 원하는 조건의 결과만 필터링하기 위해서는 HAVING절을 사용하여 필터 조건을 사용할 수 있다. Syntax SELECT COL1, COL2 FROM TABLE WHERE CONDITION GROUP BY COL1, COL2, ... GROUP BY 절은 GROUPING 컬럼/표현식들의 값이 같은 행들로 행 그룹(group of rows)을 생성하고, 각 행 그룹당 1개의 행으로 그룹화(Group)한다. ex) JOB 컬럼 값이 'CLERK'인 4개의 행들로 행 그룹이 생성되고, 이는 최..
작성일자 : 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
작성일자 : 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 절에는 조인 조건(양쪽 테이블 컬럼들간의 비교 조건) ..
Unlimited Jun
'SQL/DML - SELECT' 카테고리의 글 목록 (2 Page)