2 분 소요



함수의 용어

  • 인자(argument) : 입력되는 실제값, 함수를 호출 할 때 함수로 전달되는 값, 인자를 이용하여 작업을 수행하고 결과를 반환한다.

  • 파라미터(parameter) : 함수를 정의 할 때 함수 내에서 사용할 값을 받아들이기 위해 사용되는 변수를 말한다.// 함수를 호출할 때 입력되는 변수이다. // 이제부터 매개변수가 아닌 파라미터라고 한다. : 외부와 연결하게 되면 파라미터라고 한다. (내부에서 연결은 매개변수였어) // 함수가 호출 될 때 파라미터는 인자로 전달 된다.

자바에서는 “=” 는 할당이다.

데이터베이스는 “=” 같다 // 앞을 기준으로 같다

함수의 입력 행수에 따라 단일행 함수와 다중행 함수로 구분하고 있다.

단일행 함수

  • 단일행 함수 (한개의 행만 사용하겠다.) select…from, select…from…where, order 가 사용될 수 있으며, 중첩될 수 있다.

  • 결과물을 한 개의 행만 출력한다.



SQL개념

select * from table;
= 해당하는 테이블의 모든 row column 검색한다.

select column1, column2, column3, .... from table;
= 해당하는 테이블의 칼럼 1~3까지 검색한다.

select column1, column2  from table where 조건내용;
= 해당하는 테이블의 칼럼 1~2까지의 내용을 찾아서 조건에 맞는 값만 검색한다.



단일행 함수의 종류

단일행 함수에는 다음과 같은 종류가 있다.

  • 문자 함수
  • 숫자 함수
  • 날짜 함수
  • 변환 함수

문자함수

-- 사원 테이블에서 FORD라는 사원명을 소문자로 변환한다 라고 써있어야함
select empno, ename, hiredate from emp 
where lower (ename) = 'ford'; -- where 절로 조건을 확인한다.(ename을 소문자로 바꿔서 검색)

-- 사원테이블에서 영문인 ford 사원 명을 대문자로 변환하여 조회한다.
select empno, ename, hiredate from emp 
where ename = upper ('ford'); -- where 절로 조건을 확인한다.(ford를 대문자로 바꿔서 검색)

-- dept테이블에서 deptno가 10인 값을 찾는다. 칼럼 3가지에서 검색하낟.
--부서 테이블에서 부서 번호가 10인 부서 번호와 부서명을 연결하여 문자열로 반환한다.
select deptno, dname, concat(deptno, dname) from dept
where deptno = 10;

-- 부서 테이블에서 부서 번호기 10인 어카운팅 부서명의 G 문자 위치를 숫자로 표기한다.
select deptno, dname, instr(dname, 'G')from dept
where deptno = 10;

-- 부서 테이블에서 부서번호가 10인 부서명의 길이를 15로 설정하고 나머지 왼족 공간을 * 문자열로 채우고 표현한다.
select deptno, dname, lpad(dname, 15, '*') from dept
where deptno = 10;

-- 부서 테이블에서 부서 번호가 10인 부서명의 양 끝 공백 문자를 제거하고 반환한다.
-- 공백을 제거한 이유는 trim에 ''사이에 공백을 넣어줬기 때문이다.(A를 넣으면 A가 제거됨)
select deptno, dname, trim(both' 'from dname)from dept
where deptno = 10;



숫자함수

-- 모든 계정이 액세스 할 수 있는 가상 테이블인 dual 테이블에서 45.926을 소수점 두 자리에서 반올림한다.
select ROUND(45.926,2)from dual;

--dual 테이블에서 45.926을 소수점 두자리에서 절삭한다.
select trunc(45.926,2)from dual;

--dual 테이블에서 1600을 300으로 나눈 나머지를 반환하낟.
select mod(1600, 300)from dual;



날짜함수

-- dual테이블에서 시스템의 현재 날짜를 조회한다.
select sysdate from dual;

-- 사원테이블에서 부서 번호가 10인 사원의 입사 날짜와 현재 날짜로 근무 개월 수를 조회한다.
select ename, hiredate, sysdate, months_between(sysdate, hiredate) from emp
where deptno = 10;

-- 사원테이블에서 사원 번호가 10인 사원의 입사 날짜와 현재날짜로 근무 개월 수를 반올림하여 조회한다.
select ename, hiredate, sysdate,round(months_between(sysdate, hiredate)) 월수 from emp
where deptno = 10;

--사원테이블에서 부서 번호가 10인 사원의 입사 날짜로부터 5개월이 지난 후의 날짜를 조회한다.
select ename, hiredate, add_months(hiredate, 5) from emp
where deptno = 10;

--사원테이블에서 부서 번호가 10인 사원의 입사일로부터 돌아오는 금요일을 조회한다.
select ename, hiredate, next_day(hiredate, '금요일') as  from emp
where deptno = 10;



카테고리:

업데이트:

댓글남기기