조건에 관한 연습.
*.오라클 내장함수
*.연결연산자(Concatenation) : ||
컬럼사이 특정값을/컬럼을 한줄로 출력할수 있음.
ex)
select dname || ' 부서코드는 ' || deptno from dept;
OPERATIONS 부서코드는 40
*.함수명(~~,~~) : parameter, argument, 인수, 인자, 매게변수
concat(표현식, 표현식~~)
ex)
select concat(deptno, '번 부서')
3개를 넣으면 concat내에서는 인수2개받은 방법이라..
select concat(deptno, '번 부서 : ' || dname)
from dept;
*.현재 날짜와 시간조회.
select sysdate from dual
*.일시적으로 시간 변형함수.(형변환 함수사용)
To_Char(날짜, '날짜시간Format')
ex)
select sysdate, to_char(sysdate, 'yyyy/mm/dd HH:mi:ss') from dual
ex) 월표시
select sysdate, to_char(sysdate, 'yyyy/month/dd HH:mi:ss') from dual
09/06/22 2009/june /22 09:49:37 --공백도 포함
ex) 월 축약
select sysdate, to_char(sysdate, 'yyyy/mon/dd HH:mi:ss') from dual
09/06/22 2009/jun/22 09:49:37
ex) 요일, 24시간 표시
select sysdate, to_char(sysdate, 'yyyy/mon/dd day HH24:mi:ss') from dual
ex) 서기-- 표시
select sysdate, to_char(sysdate, 'BC yyyy-mon-dd day HH24:mi:ss AM') from dual
*.alter session set NLS_Date_Format = '날짜시간format'
alter session set nls_date_format= 'yyyy/mm/dd hh24:mi:ss';
*.조건문(where) 사용.
select ~
from 테이블명
[where 조건]
[order by 정렬명 정렬방식]
ex)
select empno, deptno
from emp
where deptno=10
order by deptno asc
*.논리 연산자 :
~ or ~ : 단하나라도 만족해도
~ and ~ : 모두 만족해야.
not : 아닌값.
in(값,값) : 값인것..
ex) or
select empno, deptno
from emp
where deptno=10 or deptno=20
ex) in
select empno, deptno
from emp
where deptno in (10, 20)
order by deptno asc
ex) not in
where deptno not in (10, 20)
ex) 10과 30사이
where deptno between 10 and 30
where deptno not between 10 and 30
*.비교연산자 : 기준 비교방법 비교할값
a > b : a는 b보다 크다(초과)
a >= b : a는 b보다 크거나 같다.(이상)
a < b : a는 b보다 작다(미만)
a <= b : a는 b보다 작거나 같다(이하)
a <> b : a는 b와 같지 않다.
a != b : a는 b와 같지 않다.
ex) 1500 이상 2850이하.
select ename, sal
from emp
where sal>=1300 and sal<=2850
order by sal asc
ex)
select ename, sal
from emp
where sal between 1300 and 2850
order by sal asc
*.문자처리함수
Upper(~) : 대문자로 처리함수.
Lower(~) : 소문자로 처리함수
initcap(~) : 앞문자만 대문자처리함수
ex)
select empno, lower(ename), initcap(ename), sal, hiredate
from emp
where ename=upper('allen')
*.NULL 조회...
where comm is null
where comm is not null
null은 미확정값이므로 정렬시 무한대로 인식.
*.null과 관련된 함수
nvl(colum, ~) : null일경우 그 컬럼을 ~으로 처리.
ex)
select ename, sal, comm, nvl(comm,100), nvl(comm,100)+sal, nvl(sal+comm,100+sal)
from emp
order by comm asc