본문 바로가기

DB/ORACLE8

ORACLE) JOIN, 서브쿼리 - 다수의 테이블을 하나의 데이터로 출력하기 2개 이상의 테이블의 데이터를 하나의 ROW로 합쳐 출력하고 싶을 때 사용하는 방법으로는 JOIN과 서브쿼리가 있다. [사용할 테이블] [JOIN] -INNER JOIN SELECT MO.DETAIL_SEQ, MO.MENU_SEQ, MO.QUANTITY, ME.MENU_SEQ,ME.MENU_NM,ME.UP_MENU_SEQ,ME.MENU_PRICE FROM MENU_ORDER MO, MENU ME WHERE MO.MENU_SEQ = ME.MENU_SEQ; -OUTER JOIN SELECT MO.DETAIL_SEQ, MO.MENU_SEQ, MO.QUANTITY, ME.MENU_SEQ,ME.MENU_NM,ME.UP_MENU_SEQ,ME.MENU_PRICE FROM MENU_ORDER MO, MENU ME WH.. 2022. 10. 2.
ORACLE) CONNECT BY 함수 : 계층데이터 사용하기 오라클에서는 CONNECT BY를 지원해 계층 데이터를 사용할 수 있다. [활용] SELECT LEVEL, MENU_SEQ, UP_MENU_SEQ, MENU_NM, RUN_YN FROM MENU START WITH MENU_NM = '분식' CONNECT BY PRIOR MENU_SEQ = UP_MENU_SEQ; -START WITH -> 시작행을 지정해 주는 조건(필수X) -CONNECT BY -> 최초행 이후 다음행이 오는 조건 이전행의 MENU_SEQ값과 현재행의 UP_MENU_SEQ가 같다면 출력해준다. -LEVEL 칼럼으로 해당 ROW의 DEPTH를 확인할 수 있다. SELECT LEVEL, MENU_SEQ, UP_MENU_SEQ, MENU_NM, RUN_YN FROM MENU START WIT.. 2022. 10. 1.
ORACLE) 식당 데이터 구성하기 [개요] 1. SQL문 연습을 위해 DB를 구축해본다. 2. 범용성이 넓은 DB를 위해 식당데이터(메뉴, 주문, 회원)로 구성한다. [회원데이터] 1. 회원테이블 : 회원데이터는 기본적인 데이터로 구성되며, 주문 정보와 연결해줄 예정 [메뉴데이터] 1. 메뉴테이블 : 기본적인 메뉴정보가 들어갈 예정 메뉴 분류, 메뉴 카테고리, 실제 메뉴 3개의 계층 구조로 구성 ex) 분식 -> 김밥 -> 치즈김밥 옵션의 종류를 가지는 칼럼 생성 2. 메뉴 옵션 테이블 옵션의 종류, 실제 옵션 2개의 계층 구조로 구성 ex) 맵기 -> 보통 옵션의 종류는 메뉴 테이블로, 실제 옵션은 주문 정보테이블로가 주문을 할 때 3개까지의 옵션을 제공할 수 있음 [주문데이터] 1. 주문 메뉴 정보 주문한 메뉴 각각의 데이터를 담고있.. 2022. 10. 1.
Oracle) NVL, NVL2(null,공백 시 치환) 가져오는 칼럼의 값이 null인 경우 NVL함수를 이용하여 치환이 가능하다. NULL값이 아닌데 특정값으로 출력하고 싶으면 NVL2를 사용하자. NVL - 함수 : NVL("값", "지정값") NVL2 NVL2 함수는 NULL이 아닌 경우 지정값1을 출력하고, NULL인 경우 지정값2를 출력한다. - 함수 : NVL2("값", "지정값1", "지정값2") // NVL2("값", "NOT NULL", "NULL") 2022. 8. 5.