본문 바로가기

장기 프로젝트/Oracle

[Oracle] 테이블 조인하기(JOIN ~ USING) 3-2 테이블 조인하기(JOIN ~ USING) NATURAL JOIN의 단점은 동일한 이름을 가지는 칼럼은 모두 조인되는데, USING문을 사용하면 컬럼을 선택해서 조인을 할 수가 있다. #형식SELECT table1.컬럼, table2.컬럼 //조회하고 싶은 컬럼명의 리스트를 나열, 출력할 내용FROM table1 JOIN table2 //조회하고 싶은 테이블명을 기술USING(컬럼) //조인할 컬럼 #예제 JOIN ~ USINGSELECT E.EMPLOYEE_ID, D.DEPARTMENT_NAMEFROM EMPLOYEES E JOIN DEPARTMENTS D USING(DEPARTMENT_ID); 더보기
[Oracle]테이블 조인하기(NATURAL JOIN) 3-2 테이블 조인하기(NATURAL JOIN) 조인 칼럼에 테이블 별칭을 사용하면 오류가 발생한다는 점과 조인에 참여하는 두 테이블 모두에서 동일한 이름과 테이블 유형을 가진 컬럼이 존재해야 한다는 점에 주의해야합니다. #형식SELECT table1.컬럼, table2.컬럼 //조회하고 싶은 컬럼명의 리스트를 나열, 출력할 내용FROM table1 NATURAL JOIN table2 //조회하고 싶은 테이블명을 기술WHERE 조건 //조회하고 싶은 로우의 조건을 기술 #예제 NATURAL JOINSELECT E.EMPLOYEE_ID, D.DEPARTMENT_NAME FROM EMPLOYEES E NATURAL JOIN DEPARTMENTS D WHERE DEPARTMENT_ID = 50; 더보기
[Oracle] 테이블 조인하기(EQUI JOIN) 3-1 테이블 조인하기(EQUI JOIN) 둘 이상의 테이블을 연결하여 데이터를 검색하는 방법이다.보통 둘 이상의 행들의 공통된 값 Primary Key 및 Foreign Key 값을 사용하여 조인 한다. #형식SELECT table1.컬럼, table2.컬럼 //조회하고 싶은 컬럼명의 리스트를 나열, 출력할 내용FROM table1, table2 //조회하고 싶은 테이블명을 기술WHERE table1.컬럼 = table2.컬럼 //조회하고 싶은 로우의 조건을 기술 #예제 EQUI JOINSELECT * FROM EMPLOYEES, DEPARTMENTS WHERE EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_IDAND DEPARTMENTS.DEPARTMENT_I.. 더보기
[Oracle]데이터 그룹(GROUP BY) 2-11 데이터 그룹(GROUP BY) 특정 칼럼을 기준으로 그룹 별로 나눌수 있습니다. 부 #형식SELECT 조건식(*) //조회하고 싶은 컬럼명의 리스트를 나열, 출력할 내용FROM 테이블 //조회하고 싶은 테이블명을 기술WHERE 조건 //조회하고 싶은 로우의 조건을 기술GROUP BY 컬럼 명 //동일한 값을 갖는 로우들을 그룹화 #예제 NVL2SELECT JOB_ID, SUM(SALARY),COUNT(*)FROM EMPLOYEES GROUP BY JOB_ID ORDER BY JOB_ID; 더보기
[Oracle] 그룹함수 2-10 그룹함수 테이블 전체데이터에서 통계적인 결과를 구하기 위해서 결과를 생산하는 함수 #형식구분설명SUM그룹의 누적 합계를 반환합니다.AVG그룹의 평균을 반환합니다.COUNT그룹의 총 개수를 반환합니다.MAX그룹의 최대값을 반환합니다.MIN그룹의 최소값을 반환합니다. #예제 SUMSELECT SUM(SALARY) AS "급여총액", ROUND(AVG(SALARY)) AS "급여평균", MAX(SALARY) AS "최대급여", MIN(SALARY) AS "최소급여" FROM EMPLOYEES; 더보기
[Oracle] 일반 함수(NULLIF) 2-9 일반 함수(NULLIF) NULLIF 함수는 두 표현식을 비교하여 동일한 경우에는 NULL을 반환하고 아닐경우 첫 번째 표현식을 반환합니다. #형식NULLIF(칼럼, 칼럼) #예제 NVL2SELECT NULLIF('K','K'), NULLIF('1','2'), NULLIF(1,1) FROM DUAL; 더보기
[Oracle] 일반 함수(NVL2) 2-8 일반 함수(NVL2) NULL을 0또는 다른 값으로 변환하기 위한 NVL2 함수입니다. #형식NVL(NULL을 포함한 칼럼, NULL이 아닌경우, NULL인 경우) #예제 NVL2SELECT ENAME, SALARY, COMMISSION, NVL2(COMMISSION, SALARY*12+COMMISSION, SALARY*12) FROM EMPLOYEE; 더보기
[Oracle] 일반함수(NVL) 2-7 일반 함수(NVL) NULL을 0또는 다른 값으로 변환하기 위한 NVL 함수입니다. #형식NVL(NULL을 포함한 칼럼, NULL을 대체하는 값) #예제 LIKE 연산자SELECT SALARY,NVL(COMMISSION_PCT, 0),SALARY*12FROM EMPLOYEES; 더보기
[Oracle] 형 변환 함수 2-6 형 변환 함수 데이터에서는 타입이 존재하고 같은 타입끼리 형 변환 해줘야 데이터가 형성됩니다. #형식구분설명TO_CHAR날짜형 혹은 숫자형을 문자형으로 변환한다.TO_DATE문자형을 날짜형으로 변환한다.TO_NUMBER문자형을 숫자형으로 변환한다. #예제 TO_CHARSELECT TO_CHAR(SYSDATE, 'YY/MM'), TO_CHAR(SYSDATE, 'YYYY/MM/DD DY') FROM DUAL; #예제 TO_DATESELECT DNO, ENAME, HIREDATE FROM EMPLOYEE WHERE HIREDATE=TO_DATE(19801217,'YYYYMMDD'); #예제 TO_NUMBERSELECT TO_NUMBER('100000','999999') - TO_NUMBER('50000.. 더보기
[Oracle] 날짜 함수(SYSDATE,ADD_MONTHS,NEXT_DAY) 2-5 날짜 함수 날짜함수는 년,월,일,시,분,초 형식으로 날짜를 저장합니다. #형식구분설명SYSDATE시스템에 저장된 현재 날짜를 반환한다.MONTHS_BETWEEN두 날짜 사이가 몇 개월인지를 반환한다.ADD_MONTHS특정 날짜에 개월 수를 더한다.NEXT_DAY특정 날짜에서 최초로 도래하는 인자로 받은 요일의 날짜를 반환한다.LAST_DAY해당 달의 마지막 날짜를 반환한다.ROUND인자로 받은 날짜를 특정 기준으로 반올림한다.TRUNC인자로 받은 날짜를 특정 기준으로 버린다. 포맷 모델단위CC, SCC4라지 연도의 끝 두 글자를 기준으로 반올림SYYY, YYYY, YEARSYEAR, YYY, YY, Y년(7월 1일부터 반올림)DDD, D, J일을 기준HH, HH12, HH24시를 기준Q한 분기의 .. 더보기