본문 바로가기
반응형

개발/Oracle11

Oracle - NVL , NVL2 함수 사용 NVL 함수는 대상 '컬럼'에 값이 null 일 경우 다른 값으로 변환해주는 함수다NVL2 함수는 첫 번째 인수가 null 이 아니면 두 번째 인수를, null 이라면 세 번째 인수를 반환한다예) NVLSELECT A , NVL(B , 0) FROM DUAL예) NVL2SELECT A , NVL2(B , 'null 이 아닐때' , 'null 일때') FROM DUAL- SELECT 1 , NVL2(2 , 'null 이 아닐때' , 'null 일때') FROM DUAL   문제는 데이터 자체가 조회가 안될 때 값을 표현해야 할 때가 있다예) NVLSELECT A , NVL(MAX(B) , 0) FROM DUALSELECT A , NVL(MIN(B) , 0) FROM DUALMAX 또는 MIX을 사용하면 임.. 2024. 9. 26.
Oracle - 계층형 쿼리 생성CREATE TABLE MENU(ID NUMBER PRIMARY KEY,PARENT_ID NUMBER , NAME VARCHAR2(20),ORD NUMBER,ICON VARCHAR2(50))    부모 추가-- 부모INSERT INTO MENU( ID, PARENT_ID, NAME, ORD, ICON)VALUES( (SELECT NVL(MAX(ID), 0) +1 AS ID FROM MENU), 0, '설정', (SELECT NVL(MAX(ORD), 0) +1 AS ORD FROM MENU WHERE PARENT_ID = 0), 'fas fa-fw fa-wrench')INSERT INTO MENU( ID, PARENT_ID, NAME, ORD, ICON)VALUES( (SELE.. 2024. 7. 31.
Oracle - INTERSECT INTERSECT 란? SELECT에 대해 교집한 연산을 한다. 두 SELECT 문의 컬럼 수와 데이터 타입이 같아야 한다. SELECT NAME, ID FROM MEMBERS INTERSECT SELECT NAME, ID, FROM TEST_MEMBERS or SELECT NAME, ID FROM MEMBERS WHERE NAME = 'A' INTERSECT SELECT NAME, ID, FROM MEMBERS WHERE NAME = 'B' A테이블과 B 테이블에서 중복된 값을 출력함 A테이블과 A테이블로 조건문을 줘서 각각 중복되는 값을 검색 할 수 도 있음 2023. 3. 23.
[DBeaver] Oracle - LEFT , RIGHT Join LEFT JOIN LEFT JOIN은 왼쪽 TABLE 의 데이터를 모두 가져오고 ON 조건문에 일치하는 데이터는 출력되지만 일치 하지않거나 존재하지 않는 데이터는 모두 NULL값으로 출력된다. MEMBER TABLE의 모든 데이터는 출력 됐고 조건문에 DEPT TABLE의 부서번호 100을 주었기 때문에 100에 해당 하지 않는 MEMBER 데이터는 NULL 처리가 된 것을 볼 수 있다. RIGHT JOIN RIGHT JOIN은 오른쪽 TABLE의 데이터를 모두 가져오고 ON 조건문에 일치하는 데이터는 출력되지만 일치 하지않거나 존재하지 않는 데이터는 모두 NULL값으로 출력된다. DEPT TABLE의 모든 데이터는 출력 됐고 조건문에 DEPT TABLE의 부서번호 100을 주었기 때문에 100에 해당 .. 2023. 3. 19.
[DBeaver] Oracle - Join TABLE 생성 -- 회원 테이블 CREATE TABLE MEMBER ( NAMEVARCHAR2(100) , EMP_NONUMBER PRIMARY KEY, DEPT_NO NUMBER, AGENUMBER, ADDRVARCHAR2(100), REGIST_DATE TIMESTAMP, BIRTH_DAYDATE ) -- 부서 테이블 CREATE TABLE DEPT( DEPT_NONUMBER PRIMARY KEY, DEPT_NAMEVARCHAR2(100), ADDRVARCHAR2(100) ) INSERT * MEMBER INSERT INTO MEMBER(NAME ,EMP_NO ,DEPT_NO,AGE , ADDR , REGIST_DATE ,BIRTH_DAY) VALUES('white' ,1000 ,100,1 , '대.. 2023. 3. 19.
[DBeaver] Oracle - Update 수정 -- MEMEBER 테이블 조회 SELECT * FROM MEMBER; SELECT * FROM MEMBER WHERE NAME = 'black'; -- MEMBER 테이블 수정 UPDATE MEMBER SET AGE = 3 , ADDR = '미국' , BIRTH_DAY = TO_DATE('01-01-1900' , 'dd-mm-YYYY') WHERE NAME = 'black'; UPDATE 테이블명 SET 조건 = 조건 WHERE 바꿀컬럼 = 데이터 2023. 3. 19.
반응형