본문 바로가기

oracle

[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] 형 변환 함수 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] 숫자 함수(ROUND,TRUNC,MOD) 2-4 숫자 함수 숫자함수는 숫자 데이터를 처리하기 위한 함수입니다. #형식 구분 설명 ROUND 특정 자릿수에서 반올림한다 TRUNC 특정 자릿수에서 잘라낸다(버림) MOD 입력 받은 수를 나눈 나머지 값을 반환한다. #예제 ROUNDSELECT 3.1492, ROUND(3.1492), ROUND(3.1492,2), ROUND(3.1492,-1) FROM DUAL; #예제 TRUNCSELECT 3.1492, TRUNC(3.1492), TRUNC(3.1492,2), TRUNC(3.1492,-1) FROM DUAL; #예제 MODSELECT MOD(23,2),MOD(23,3),MOD(23,4),MOD(23,5) FROM DUAL; 더보기
[Oracle] 정렬을 위한 ORDER BY 1-12 정렬을 위한 ORDER BY 데이터의 출력 순서를 특정 칼럼을 기준으로 나열할 때 사용합니다.기본적으로는 오름차순 정렬방식(ASC)이고 내림차순(DESC)으로도 가능합니다. #형식SELECT 조건식(*) //조회하고 싶은 컬럼명의 리스트를 나열, 출력할 내용FROM 테이블 //조회하고 싶은 테이블명을 기술WHERE 조건 //조회하고 싶은 로우의 조건을 기술ORDER BY ASC & DESC //로우들의 정렬 순서 #예제 LIKE 연산자SELECT * FROM EMPLOYEES ORDER BY SALARY DESC; SELECT * FROM EMPLOYEES ORDER BY SALARY ASC; 더보기
[Oracle] NULL 검색하기 1-11 NULL 검색하기 NULL은 ‘COMMISSION = NULL’ 검색이 안됩니다. IS NULL을 이용해서 검색이 가능합니다 #형식SELECT * FROM 테이블 WHERE 컬럼명 IS NULL; #예제 LIKE 연산자SELECT COMMISSION_PCT FROM EMPLOYEES WHERE COMMISSION_PCT IS NULL; 더보기
[Oracle] LIKE 연산자와 와일드 카드 1-10 LIKE 연산자와 와일드 카드 LIKE 연산자는 칼럼에 저장된 문자 상수 중에서 LIKE 연산자에서 지정한 문자 패턴과 부분적으로 일치하면 참이 되는 연산자로 강씨 성을 갖는 사람을 찾거나 거주지가 대전인 사람을 찾는 것과 같이 컬럼에 저장된 데이터의 일부만 일치하더라도 조회가 가능하도록 하기 위해서 사용합니다. ‘_’기호는 단 한 문자에 대해서만 와일드카드 역할을 하기 때문에 ‘_’를 기술한 위치에 어떤 문자가 오든 상관없다는 의미로 사용됩니다. #형식SELECT * FROM 테이블 WHERE 컬럼명 LIKE ‘K%’; #예제 LIKE 연산자SELECT FIRST_NAME FROM EMPLOYEES WHERE FIRST_NAME LIKE 'K%'; SELECT FIRST_NAME FROM EM.. 더보기
[Oracle] BETWEEN AND연산자를 사용한 조건 검색 1-9 BETWEEN AND연산자를 사용한 조건 검색 BETWEEN a AND b 연산자는 특정 칼럼의 데이터 값이 하한값(a)와 상한값(b) 사이에 포함되는 로우를 검색하기 위한 연산자입니다. #형식SELECT 조건식(*) FROM 테이블 WHERE 조건 BETWEEN 숫자 AND 숫자 #예제 BETWEENSELECT SALARYFROM EMPLOYEES WHERE SALARY BETWEEN 10000 AND 15000; #예제 NOT BETWEENSELECT SALARY FROM EMPLOYEES WHERE SALARY NOT BETWEEN 10000 AND 15000; 더보기