SQL 4 Oracle 오라클용 sql 실무

전체 글 96

JOIN UPDATE

2011-08-01 11:12:03 SQL 4 Oracle 오라클용 sql 실무 ▒ JOIN UPDATE ▒ bypass_ujvc 힌트 update /*+ bypass_ujvc */ ( select a.승인일 a_승인일, a.승인점수 a_승인점수 b.승인일 b_승인일, b.승인점수 b_승인점수 from 목적_Table a, 실적_Table b where b.고객ID=a.고객ID and b.취득일자=a.취득일자) SET a_승인일 = b_승인일, a_승인점수 = b_승인점수 where a_승인일 is null ▒ 집합 update 목적_Table a set (a.승인일, a.승인점수)=(select b.승인일, b.승인점수 from 실적_Table b where b.고객ID=a.고객ID and b.취득일자..

SQL4Oracle 2023.03.10

NULL 표현식2

2011-08-01 09:55:04 SQL 4 Oracle 오라클용 sql 실무 ▒ NULL 표현식2 ▒ NOT EXIST SELECT A.고객ID, A.고객명, A.고객구분, A.승인일자 FROM 목적_Table A WHERE A.고객상태='활동중' AND NOT EXISTS (SELECT B.고객ID FROM 주소_Table B WHERE B.고객ID=A.고객ID) ▒ COUNT = 0 SELECT A.고객ID, A.고객명, A.고객구분, A.승인일자 FROM 목적_Table A WHERE A.고객상태='활동중' AND 0 = (SELECT COUNT(*) FROM 주소_Table B WHERE B.고객ID=A.고객ID)

SQL4Oracle 2023.03.10

NULL 오류표현과 NULL 처리

2011-08-01 09:48:27 SQL 4 Oracle 오라클용 sql 실무 ▒ NULL 오류표현 (null값은 연산에 참여할 수 없다) ▒ NULL값이 있는 데이터(승인일자) 오류표현 SELECT A.고객ID, A.고객명, A.고객구분, A.승인일자 FROM 목적_Table A WHERE A.고객상태='활동중' AND A.승인일자 '20110801' ▒ NULL값이 있는 데이터(승인일자) NULL처리 정상표현 SELECT A.고객ID, A.고객명, A.고객구분, A.승인일자 FROM 목적_Table A WHERE A.고객상태='활동중' AND NVL(A.승인일자,'99991231') '20110801' ▒ NULL값이 있는 데이터(승인일자) 오류표현 SELECT A.고객ID, A.고객명, A.고객구..

SQL4Oracle 2023.03.10

NULL 표현식

2011-08-01 09:45:46 SQL 4 Oracle 오라클용 sql 실무 ▒ NULL 표현식 ▒ IS NULL SELECT A.고객ID, A.고객명, A.고객구분, A.승인일자 FROM 목적_Table A WHERE A.고객상태='활동중' AND A.승인일자 IS NULL ▒ NULL SELECT A.고객ID, A.고객명, A.고객구분, A.승인일자 FROM 목적_Table A WHERE A.고객상태='활동중' AND A.승인일자 = '' ▒ IS NOT NULL SELECT A.고객ID, A.고객명, A.고객구분, A.승인일자 FROM 목적_Table A WHERE A.고객상태='활동중' AND A.승인일자 IS NOT NULL

SQL4Oracle 2023.03.10

상수값 있는 OUT JOIN 오류표현

2011-08-01 09:02:16 SQL 4 Oracle 오라클용 sql 실무 ▒ 상수값 있는 OUT JOIN 오류표현 SELECT A.고객명,A.고객구분,B.고객주소 FROM 목적_Table A,주소_Table B WHERE A.고객상태='활동중' AND A.고객ID=B.고객ID(+) AND A.고객구분=B.고객구분(+) AND B.주소구분='거주' ▒ 상수값 있는 OUT JOIN 정상표현 SELECT A.고객명,A.고객구분,B.고객주소 FROM 목적_Table A,주소_Table B WHERE A.고객상태='활동중' AND A.고객ID=B.고객ID(+) AND A.고객구분=B.고객구분(+) AND B.주소구분(+)='거주'

SQL4Oracle 2023.03.10

LEFT JOIN

2011-08-01 09:00:57 SQL 4 Oracle 오라클용 sql 실무 ▒ LEFT JOIN SELECT A.고객명,A.고객구분,B.고객주소 FROM 목적_Table A LEFT JOIN BMTPERCUST B on A.고객ID=B.고객IDAND A.고객구분=B.고객구분 WHERE A.고객상태='활동중' ▒ LEFT JOIN과 같은 표현식 OUT JOIN SELECT A.고객명,A.고객구분,B.고객주소 FROM 목적_Table A,주소_Table B WHERE A.고객상태='활동중' AND A.고객ID=B.고객ID(+) AND A.고객구분=B.고객구분(+)

SQL4Oracle 2023.03.10

오라클 중복데이터 삭제하기 ROWID의 오해

2011-07-31 01:30:23 SQL 4 Oracle 오라클용 sql 실무 ▒ 오라클 중복데이터 삭제하기 ROWID의 오해 먼저 들어온 중복 데이터 삭제하기 DELETE FROM TABLE_NAME A WHERE ROWID < (SELECT MAX(ROWID) FROM TABLE_NAME B WHERE A.COL = B.COL 위 SQL에서 오류사항 2가지 1. 오라클의 ROWID는 순차적으로 insert 된 DATA의 순서란 뜻이 아니다. 말그대로 물리적인 ROWID에 DATA INSERT시 비어있는 ROW에 DATA가 들어간다 그래서 ROWID로 단순 최초 최후의 판단조건으로 부적절 하다. 2. 중복 데이터란 unique 키가 없는 상태에서 키값이 중복이란 것이지 전체 데이터가 중복이란 뜻이 아..

SQL4Oracle 2023.03.03

의료기관 명칭으로의 선택기준

2011-07-29 13:42:20 의료기관 명칭에 대하여 의료법 제3조 (의료기관) ② 의료기관은 다음 각 호와 같이 구분한다. 1. 의원급 의료기관: 의사, 치과의사 또는 한의사가 주로 외래환자를 대상으로 각각 그 의료행위를 하는 의료기관으로서 그 종류는 다음 각 목과 같다. 가. 의원 나. 치과의원 다. 한의원 2. 조산원: 조산사가 조산과 임부·해산부·산욕부 및 신생아를 대상으로 보건활동과 교육·상담을 하는 의료기관을 말한다. 3. 병원급 의료기관: 의사, 치과의사 또는 한의사가 주로 입원환자를 대상으로 의료행위를 하는 의료기관으로서 그 종류는 다음 각 목과 같다. 가. 병원 나. 치과병원 다. 한방병원 라. 요양병원 마. 종합병원 제3조의2 (병원등) 병원·치과병원·한방병원 및 요양병원(이하 "..

카테고리 없음 2023.03.03

중복 데이터 삭제하기 중복제거

2011-07-29 11:55:10 SQL 4 Oracle 오라클용 sql 실무 ▒ 중복제거 고객명,취득일자 중복일 경우 하나만 남기고 나머지 중복 데이터 삭제하기 delete 목적_Table a where a.rowid in ( select b.rowid from ( ----------------------------------------------------------------------------- select MAX (c.rowid) OVER(PARTITION BY c.고객ID, c.취득일자 ) AS Ture_row, c.고객명, c.취득일자, c.rowid from 목적_Table c where c.고객상태='활동중' and (c.고객ID, c.취득일자) in ( select d.고객ID, d..

SQL4Oracle 2023.03.03

일정 횟수(7회) 이상 존재하는 데이타 추출

2011-07-29 11:37:19 SQL 4 Oracle 오라클용 sql 실무 ▒ 일정 횟수(7회) 이상 존재하는 데이터 추출 select 고객ID, 고객명, count(*) 취득건수, sum(점수) 취득점수 from 목적_Table a, (select b.고객ID from 목적_Table b where b.고객상태='활동중' GROUP BY b.고객ID HAVING COUNT(*)>=7 ) b where a.고객상태='활동중' and a.고객ID= b.고객ID group by a.고객ID, 고객명

SQL4Oracle 2023.03.03