본문 바로가기
반응형

프로그래밍/oracle4

[oracle] 최대값/최소값 행 가져오는 방법 비교 사용법 GREATEST/LEAST vs MAX/MIN sql 차이점 MAX/MIN ◆ MIN/MAX는 한 컬럼안에서만 비교하는 반면 GREATEST/LEAST는 서로 다른 컬럼과 비교 가능 WITH EXP_MXN AS ( SELECT 111 AS test_col FROM DUAL UNION ALL SELECT 222 AS test_col FROM DUAL ) SELECT MAX(test_col) , MIN(test_col) FROM EXP_MXN; // 결과값 222 111 GREATEST / LEAST -▶숫자 비교는 물론 (숫자형) SELECT GREATEST(100, 200, 300, 400) AS grt --인자값 중 최대값 반환 , LEAST(100, 200, 300, 400) AS let --인자값 중 최소값 반환 FROM DUAL; // 결과값 400 100.. 2023. 3. 2.
[oracle] 테이블이 아닌 뷰(view)를 사용하는 이유와 장점과 단점 생성,수정,삭제,조회,구조 확인 뷰(view)란? 데이터베이스에서 존재하는 일종의 가상 테이블이다. 실제 데이터를 저장하고 있진 않지만, 실제 테이블처럼 행과 열을 가지고 있다. 직접 테이블에 접근하는 것이 아니라, 사용자가 필요로 하는 부분만 가져와서 사용할 수 있는 데이터의 집합이다. 뷰(view)의 장점 원하는 부분만 가져와서 사용할 수 있다. 복잡한 쿼리를 단순화해서 사용 가능하다. 데이터의 보안이 용이하다. 사용자가 데이터를 관리하기가 쉽다. 논리적 독립성을 제공한다. 뷰(view)의 단점 인덱스를 구성할 수 없다. 한번 정의된 뷰는 수정이 불가하다. 삽입, 갱신, 삭제 연산에 많은 제약이 있다. 뷰(view) 생성 예제 create문을 사용하여 뷰를 생성할 수 있다. CREATE VIEW view_name AS SELECT .. 2023. 1. 27.
[oracle] EXISTS 와 IN 함수 서브쿼리 사용법 비교해보자! EXISTS() 논리연산자 중의 하나로써 후행 조건절로 서브 쿼리 형태만 올 수 있음. 서브 쿼리의 결과가 "한 건이라도 존재하면" TRUE 없으면 FALSE를 리턴. null에 대해 TRUE 리턴. 처리순서 : 메인 쿼리 > 서브 쿼리 IN() 서브 쿼리 또는 특정값이 들어갈 수 있음. 실제 일치하는 데이터들의 모든 값까지 확인. null에 대해 FALSE 리턴. 처리순서 : 서브 쿼리 > 메인 쿼리 2023. 1. 18.
[oracle] RANK() OVER(PARTITION BY 컬럼 ORDER BY 컬럼 분석함수 그룹핑 순위매기기 함수 쿼리 쿼리에서 그룹핑한 후 순위를 매기고 싶은데.. 함수가 따로 없을까..? SELECT RANK() OVER(PARTITION BY 컬럼 ORDER BY 컬럼) FROM 테이블 PARTITION BY 컬럼 : 컬럼을 기준으로 그룹핑 ORDER BY 컬럼 : 컬럼을 기준으로 정렬 RANK() : 행마다 순위를 매김 OVER : 지시어, SELECT구 또는 ORDER BY 구에서 사용 가능 분석함수? 집계 결과를 각 행마다 보여줌. SELECT 구 또는 ORDER BY 구문에서만 사용 가능 cf) ROW_NUMBER() OVER(PARTITION BY 컬럼 ORDER BY 컬럼) : 1등이 2명이어도 1등,2등으로 나눔. RANK()는 1등이 2명이면 그 다음 순위는 3등으로 매김. 2023. 1. 17.
반응형