성장 일기/쌍용교육센터 / / 2023. 1. 26. 10:09

0126/집계함수

쌍용교육센터에서 공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.
내용에 대한 소스 코드는 https://github.com/2jaehoon/ssangyonng.git에 올려두었습니다.

 

select subquery

- 단수행, 복수행, scalar subquery가 제공

 

* scalar subquery

  - 다른 테이블에 컬럼 값으로 조회할 때 사용

  - 서브쿼리만 별도의 실행을 할 수 없다.

  - 단수행 서브쿼리만 가능하다.

  -  테이블은 다르고 컬럼명이 같을 때 식별해야 한다. ( 테이블명.컬럼명 )

select 컬럼명, ( select ... from 테이블2명 where 테이블2명.같은컬럼명=테이블1명.같은컬럼명 )
from 테이블1명

 

* 복수행 서브쿼리

   - inline view를 사용한 검색( 조회결과를 사용한 재조회 )

   - 많은 양의 레코드에서 일부분의 레코드를 보여줘야할 때 사용

select 컬럼명1, 컬럼명2...
from ( select문 );
--from에 있는 select문은 inline view이고 
--select에 있는 컬럼명은 inline view에 의해 검색된 컬럼명
--subquery에서 alias에서 사용되면, 바깥 쿼리에서는 alias명으로만 사용 가능

 

* rownum

  - 조회되는 쿼리문에서 순차적인 번호를 보여줄 수 있는 가상 컬럼 ( Psuedo column )

  - 모든 select문에서 사용할 수 있다.

  - select마다 구분되어 사용된다.

  - where절에서 사용되면 1번에서부터만 검색이 되고, 그렇지 않으면 검색되지 않는다.

  - order by보다 먼저 생성 ( 정렬을 하게 되면 번호가 섞인다. )

--컬럼으로 사용
select 컬럼명, ..., rownum
from 테이블명;

 

제약사항 ( Constraint )

- 컬럼의 값을 개발자가 원하는 형태로 받기 위해 사용

- primary key, foreign key, unique, check, not null 5가지 제공

- user_constraints DD( Data Dictionary )에서 테이블에 설정된 제약사항을 확인할 수 있다.

- DD( Data Dictionary ) : DBMS에서 운영에 필요한 정보를 저장한 테이블  

    사용자가 직접 insert, update, delete를 할 수 없고 오직 select문만 가능하다.

- 테이블 생성할 때 컬럼 단위 제약사항, 테이블 단위 제약사항 문법으로 설정할 수 있다.

- alter를 사용하여 제약사항을 추가, 삭제, 변경, 활성화, 비활성화를 할 수 있다.

 

primary key ( 기본 키, 주 키 )

- 테이블은 하나의 기본 키를 가질 수 있다.

- 컬럼의 값을 null을 허용하지 않으면서 유일하게 관리해야할 때 사용

- 테이블 설계할 때 후보키 중 하나가 선택된다.

- 테이블은 하나의 기본 키를 가질 수 있다

- 하나의 PK는 여러 개의 컬럼으로 구성될 수 있다

- PK 컬럼은 다른 테이블에서 FK로 참조할 수 있다.( 테이블 간의 관계 설정 )

- user_constraints DD에서 constraint_type이 'P'로 설정된다.

 

컬럼 단위

-- 컬럼의 정의와 제약사항이 합쳐진다. 
create table 테이블명(
컬럼명 데이터형(크기) constraint pk_테이블명 primary key
);

테이블 단위

-- 컬럼의 정의와 제약사항을 분리할 수 있다.
-- 하나의 PK가 여러 개의 컬럼으로 구성될 때 사용

CREATE TABLE 테이블명(
컬럼명 데이터형(크기),
... ,
... ,
contraint pk_테이블명 primary key (적용컬럼, ... , ...)
)

 

ERD ( Entity Relationship Diagram )

- 테이블의 구조, 관계를 보기 쉽게 만든 다이어그램

- ERD 구성

 

ERD 구성 요소

 

 

'성장 일기 > 쌍용교육센터' 카테고리의 다른 글

0130/시퀀스, 조인, 정규화  (0) 2023.01.30
0127/테이블 제약 조건  (0) 2023.01.27
0125/집계함수  (0) 2023.01.25
0120/DBMS 함수  (0) 2023.01.20
0119/group by, order by, 함수  (0) 2023.01.19
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유