본문 바로가기
computer/SQL

[Oracle] SQL select절, PL/SQL, 내장함수, 조인

by 몽구스_ 2020. 12. 30.
728x90

 

 

date타입

 

* 년,월,일 형태로 변경할 때 주의

SELECT deptno, ename, hiredate, to_char(hiredate, 'YY"년 "MM"월 "DD"일"')
FROM emp;

 

 

 

rownum

 

-- sal기준으로 내림차순 정렬후 5~10번째 열만 조회
SELECT *
FROM (SELECT rownum row#, employee_id, first_name, salary  
FROM (SELECT * FROM employees ORDER BY salary desc))
WHERE row# >= 5 and row# <= 10;

 

 

 

 

함수사용

 

--내장함수 : 널이면 두번째꺼로, 두번째도 널이면 세번째꺼로
SELECT coalesce(sal+comm, sal, 0)
FROM emp;

 

 

--INITCAP : 첫글자 대문자로

 


--TRIM : 공백제거함수

 

 

--nullif : 앞과 같으면 null반환, 다르면 앞에꺼 반환
select nullif('11', '11') from dual;
select nullif('111', '11') from dual;

 

 

 

--사용자 정의 함수 : PL/SQL
create or replace function tax(a number) return number
is 
    v_tax number;
begin 
    v_tax := a * 0.01;
    return v_tax;
END;
/

 

 


조인

 

 

--자연조인 : e.join_id 표시 안해줘도 됨
select employee_id, last_name, job_id, job_title
from employees natural join jobs;

 

 

--using조인 : using에 어떤 컬럼으로 조인하는지 써줌
select employee_id, last_name, job_id, job_title
from employees join jobs
using(job_id);

 

 

--셀프조인
SELECT e.empno 사번, e.ename 이름, 
m.empno 상사사번, nvl(m.ename, 'top') 상사이름
FROM emp e left outer join emp m
on e.mgr = m.empno;

 

 

 

 

 

 

 

 

댓글