본문 바로가기

공부/DB12

UNION, UNION ALL, MINUS, INTERSECT UNION을 사용하는 이유는 여러 개의 테이블의 레코드를 합치고 싶을 때 사용한다.여러 개의 게시판이 각각의 테이블로 구성되어 있는데 하나의 테이블처럼 통합검색하고싶을 때 또는 결과물을 합칠 때 사용한다.(단, UNION 사용시 컬럼의 갯수와 자료형을 맞춰야 한다.) UNION 사용 샘플 SELECT * FROM TB_NOTICE UNIONSELECT * FROM TB_QNA; 결과값이 같은 것은 1개로 줄어든다. UNION ALL 사용 샘플 SELECT * FROM TB_NOTICEUNION ALLSELECT * FROM TB_QNA; UNION ALL의 경우는 중복과 상관없이 모두를 보여준다. MINUS 사용 샘플 SELECT * FROM TB_NOTICEMINUSSELECT * FROM TB.. 2025. 8. 25.
JOIN SQL에서 JOIN을 사용하는 이유는 한 테이블에 모든 데이타를 다 때려 넣는 것이 아닌중복 된 데이타가 들어가지 않도록 정규화를 하기 때문이다. 게시판별로 테이블이 아래와 같이 있으면 효율이 많이 떨어지고 용량도 많이 차지하게 된다. 게시판테이블IDNAMENICKNAMETITLEDATETIME CONTENT song송하나쏭쏭.........park박둘빡빡빡.........kim김길동단순함......... 멤버테이블과 게시판테이블을 분리하여 관리함으로써 데이타를 효율적으로 관리할 수 있다. 분리 된 멤버테이블IDNAMENICKNAMEsong송하나쏭쏭park박둘빡빡빡kim김길동단숨함 분리 된 게시판테이블IDTITLEDATETIMECONTENTsong.........park.........kim....... 2025. 8. 14.
사용자 함수 생성 자주 쓰이는데 기본 함수로 제공되지 않아서쿼리를 짤 때마다 매번 만드는 불편함을 해소하기 위해특정 기능을 수행하는 함수를 사용자가 직접 만드는 것이다.이렇게 생성한 함수는 다른 사용자와 공유하기도 좋다 GetGrade( score Number ) 라는 함수 만들기점수를 파라미터로 받아서 A+ ~ F까지 등급을 리턴하는 함수이다.함수생성은 CREATE FUNCTION으로 생성END로 끝낸다. 토드(TOAD)에서 사용자 함수 확인 방법메뉴 - 데이타베이스 - Schema Browser - Functions 를 선택하면 사용자 함수를 확인 및 수정 가능하다. 사용자 함수를 디버깅하는 방법 - 토드(TOAD)이용1. 함수명(GetGrade)를 더블클릭 2. 함수를 디버깅 할 수 있는 폼이 생.. 2025. 8. 13.
기타 함수 대상과 순차적으로 비교하여 조건이 일치하면 해당 반환값을 리턴하는 기타 함수함수명의미DECODE(대상,비교값1,반환값1,비교값2,반환값2...)대상과 비교값을 순차적으로 비교하여 해당 반환값을 리턴CASE 대상 WHEN 비교값1 THEN 반환값1 WHEN 비교값2 THEN 반환값2 ... ELSE 기본값END대상과 비교값을 비교하여 해당되는 반환값을 리턴해당되는 값이 없을 경우 ELSE의 기본값을 반환 순차비교하여 해당 반환값을 리턴( DECODE )주민번호에서 첫 번째 자리를 추출하여 성별을 DECODE를 이용하여 표시한다.1,3은 남2,4는 여 순차비교하여 해당 반환값을 리턴( CASE )점수가 90.. 2025. 8. 12.
SQL NULL 관련 함수 NULL일 때 대체값으로 전환하는 함수함수명의미NVL(대상,대체값)대상이 null이면 대체값을 반환NVL2(대상, 대체값1, 대체값2) 대상이 null이면 대체값1을 아니면 대체값2를 반환NULLIF(대상, 비교값) 대상과 비교값이 같으면 null값을 반환 아니면 대상을 리턴LNNVL(조건) 조건이 참이면 false 그렇지 않으면 true를 반환COALESCE(대상1,대상2,대상3..) 대상1이 null이 아니면 대상1리턴대상2가 null이 아니면 대상2리턴대상3이 null이 아니면 대상2리턴 반복 null 값을 대체( NVL )숫자형 컬럼에서 null값일 때 0값 등으로 대체특정 문자로 대체하는 것은 되지 않는다. null 값을 대체( NVL2 )NVL2와 달리 특정 문자열이나 문자로 대체하는.. 2025. 8. 11.
SQL 데이타 변환 함수 문자형을 날짜형으로, 날짜형이나 숫자형을 문자형으로 변환하는 함수함수명의미TO_DATE문자형 데이터를 날짜형으로 변환TO_CHAR숫자형, 날짜형 데이터를 문자형으로 변환TO_NUMBER문자형 데이터를 숫자형 데이터로 변환 문자형 데이터 범위 YYRR0 ~ 49현재 세기현재 세기50 ~ 99이후 세기이전 세기 문자데이터변환형식결과970505YYYY / MM / DD2097 / 05 / 05RRRR / MM / DD1997 / 05 / 05 문자열을 날짜형으로 변환( TO_DATE )주민번호 앞 6자리를 이용하여 날짜형으로 변환하는 쿼리 날짜형을 문자열로 변환( TO_CHAR )날짜형을 바꿀 때 RRRR로 해야 정상적으로 년도가 표시된다. 숫자형을 문자형으로 변환( TO_CHAR )실수를 문자형으로 표.. 2025. 8. 11.