CASE

    반응형
    이미지21

    [ Oracle ] 특정 값 우선 정렬하기 ORDER BY DECODE/CASE

    조회 쿼리를 이용 할 때, 단순히 오름차와 내림차순 정렬이 아니라 정렬을 하되 우선적인 값을 제일 상단에 조회하고 그 후 정렬을 하던지 등 원하는 특정 조건을 기준으로 잡아 정렬을 해야하는 경우가 있다. 방법은 그리 복잡하지 않으니 예제를 보면서 이해해보도록 하자. 먼저 아래와 같은 주문테이블이 있다고 가정한다. CREATE TABLE 주문테이블 ( 주문일자 VARCHAR2(200 BYTE), 주문상품 VARCHAR2(200 BYTE), 주문상태 VARCHAR2(200 BYTE) ); INSERT INTO 주문테이블 (주문일자, 주문상품, 주문상태) VALUES ('2021-01-20', '삼겹살' , '배송중' ); INSERT INTO 주문테이블 (주문일자, 주문상품, 주문상태) VALUES ('20..

    이미지21

    [ Oracle ] 오라클 중복데이터 처리, 중복데이터 한번만

    중복 데이터를 처리하는 방법은 다양하다. ​ 중복 데이터를 처리하는 방법에는 어떤것들이 있는지 살펴보자. ​ 만약 아래와 같은 정렬되지 않은 의류 테이블이 존재한다고 가정하자. ​ [ 의류 ] 테이블 위 데이터를 보면 No2 ROW 와 No5 ROW 가 중복되는 데이터임을 알 수 있다. ​ 중복데이터를 제거하고 싶다면 흔히 알고 있는 DISTINCT를 사용하면 된다. SELECT DISTINCT 분류명, 색상명, 가격, 상품번호 FROM 의류 ; 그럼 아래와 같은 결과가 나올것이다. 이처럼 DISTINCT는 데이터가 모두 동일한 ROW가 존재할경우 이를 제거해준다. ​ 그렇다면 중복데이터를 제거하는 것이 아닌 공백이나 널로 처리해 해당데이터가 하나만 보이게하려면 어떻게 해야할까? 필자의 경우 서브쿼리를 ..