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;
'computer > SQL' 카테고리의 다른 글
[Oracle] 그룹별 상위 3개 데이터 추출 RANK()/DENSE_RANK() (0) | 2021.06.30 |
---|---|
프로그래머스 SQL 문제풀이 - JOIN (0) | 2021.06.29 |
2021년 제 41회 SQL개발자(SQLD) 자격증 합격 / 전공자 3일 합격 후기 (0) | 2021.06.29 |
[ORACLE] CASE WHEN (0) | 2020.09.13 |
비전공자/전공자를 위한 SQL관련 자격증 추천 [SQLD] (0) | 2019.11.04 |
댓글