반응형

Oracle 45

[SQL] 백분율 예제

목차 SELECT 5 / 30 * 100 FROM dual ; 1. 백분율 계산식 구하려는 컬럼을 전체 컬럼개수로 나눈 뒤 100을 곱한다. 실전 SQL(cubrid 사용) SELECT CASE WHEN A.HOUSE_TY_SECD = '1' THEN '다가구' WHEN A.HOUSE_TY_SECD = '2' THEN '빌라' WHEN A.HOUSE_TY_SECD = '3' THEN '아파트' WHEN A.HOUSE_TY_SECD = '4' THEN '오피스텔' WHEN A.HOUSE_TY_SECD = '5' THEN '단독' WHEN A.HOUSE_TY_SECD = '6' THEN '다세대' WHEN A.HOUSE_TY_SECD = '7' THEN '연립' WHEN A.HOUSE_TY_SECD = '8..

IT/DBMS 2024.03.20

[Rest API]계층구조 Rest API sample(feat. springBoot)

목차 Oracle의 HR schema의 데이터로 계층구조로 Rest API를 만들 수 있다. Rest API 연습 하기 좋다. depth entity 비고 1depth region 지역 2depth contry 나라 3depth location 위치 4depth department 부서 5depth employee 사원 최상위에 지역(유럽, 아메리카, 아시아 등)이 있고 그안에 나라가 있고 그 아래 5depth까지 구성할 수 있다. 위 데이터 구조를 기반으로 작성을 해 보면 아래처럼 작성 할 수 있다.(로직은 개인의 취향) RestController 😎 package study.dev.test.controller; import lombok.RequiredArgsConstructor; import lomb..

IT/development 2023.10.10

[DBMS] N:M(다대다) 관계일 때 매핑 테이블로 관계 형성

하나의 메뉴는 여러개의 유저그룹과 연결될 수 있고 하나의 유저그룹도 여러개의 메뉴정보와 연결될 수 있기에 다대다 관계라고 할 수 있다.(회원과 유저그룹도 마찬가지다) 예를 들어 회원관리라는 메뉴를 A그룹도 가질 수 있고 B그룹도 가질 수 있다. A그룹은 회원관리 뿐 아니라 시스템관리의 메뉴와도 연결될 수 있다. 관계형 데이터베이스에서는 다대다 관계를 풀어내기 위해 중간에 매핑 테이블을 둬서 1:N, N:1로 관계를 품 매핑 테이블은 연결시키는 테이들의 PK만을 가지고 있고 이를 가지고 각 테이블에서 서로 참조할 수 있다. 위의 관계에서 회원이 자신과 연결된 메뉴정보를 알고 싶으면 아래처럼 쿼리를 작성하면 된다. /* 사용자와 매핑된 메뉴 조회 */ WITH UserGroupCodes AS ( /* 유저그..

IT/DBMS 2023.09.24

[springBoot/thymeleaf] ajax 페이지네이션 sample(feat. study용)

목차 ddl(Oracle) /* 게시판 */ CREATE TABLE "BOARD_INFO" ("BOARD_NO" NUMBER NOT NULL ENABLE, "TITLE" VARCHAR2(50) NOT NULL ENABLE, "CONTENT" VARCHAR2(4000) NOT NULL ENABLE, "USER_ID" VARCHAR2(20) NOT NULL ENABLE, "USE_YN" CHAR(1) DEFAULT 'Y' NOT NULL ENABLE, "REG_DATE" DATE DEFAULT SYSDATE NOT NULL ENABLE, "MOD_DATE" DATE, CONSTRAINT "BOARD_INFO_PK" PRIMARY KEY ("BOARD_NO") ); COMMENT ON COLUMN BOARD_..

IT/development 2023.06.04

[mybatis] mybatis oracle merge into

mapper.xml SELECT BOARD_SNO_SEQ.NEXTVAL AS boardSno FROM DUAL /* 게시글 등록/수정 */ MERGE INTO BOARD_INFO A /* 비교 조건(boardSno가 같은지 비교) */ USING DUAL ON(A.BOARD_SNO = #{boardSno}) WHEN MATCHED THEN /* update(boardSno가 일치하면 update) */ UPDATE TITLE = #{title} , CONTENT = #{content} , MOD_DATE = SYSDATE WHERE BOARD_SNO = #{boardSno} /* insert(boardSno가 불일치 할 경우 insert) */ WHEN NOT MATCHED THEN INSERT ( BO..

IT/development 2023.06.03
반응형