String s = new String();
SQL> select * from emp_test;
ID NAME SALARY TITLE IN_DATE DEPT_NAME
---------- ------------------------------ ---------- ------------------------------ -------- ------------------------------
1 김사장 600 사장 01/07/19 개발부
2 홍길동 1500 부사장 04/07/19 관리부
3 홍길순 2500 사장 23/01/16 대기발령
111 김유신111 1111 대리11 01/01/01 영업부
7 SCOTT 1500 부사장 23/01/16 관리부
222 김유신222 2222 대리22 02/02/02 영업부
333 333김유신 3333 33대리 03/03/03 영업부
444 444김유신 4444 44대리 04/04/04 영업부
555 이순신555 5555 부장 05/05/05 관리부
666 이순신666 6666 06/06/06 관리부
777 주몽777 7777 07/07/07 기획부
888 평민888 대리 08/08/08 영업부
990 한국990 9990 09/09/09 기획부
991 꺽다리991 23/01/16 영업부
992 짠돌이992 9992 과장 09/09/09 관리부
박_% 특수% 23/01/17
김_% 특수% 23/01/17
SQL> select * from c_emp;
ID NAME SALARY PHONE DEPT_ID
---------- ------------------------------ ---------- ------------------------------ ----------
101 김사장 1000 3429-0001 1
102 홍길동 2000 3429-0002 1
103 홍길순 3000 3429-0003 1
104 이순신 4000 3429-0004 2
105 강감찬 5000 3429-0005 2
106 류시원 1100 3429-0006 2
107 이문세 1200 3429-0007 3
108 강호동 1300 3429-0008 3
109 강문영 1400 3429-0009 3
110 추현재 1500 3429-0010 4
111 박상민 2500 3429-0011 4
112 박상면 3500 3429-0012 4
113 유재석 4500 3429-0013 5
114 노무현 5500 3429-0014 5
115 전두환 1000 3429-0015 5
116 김일성 2000 3429-0016 6
117 김정일 3000 3429-0017 6
SQL> select * from sal_grade; SQL> select * from s_dept;
GR LOSAL HISAL ID DEPT_NAME
-- ---------- ---------- ---------- ------------------------
A 4000 5999 1 총무부
B 3000 3999 2 개발부
C 2000 2999 3 영업부
D 1000 1999 4 인사부
E 500 999 5 자재부
6 회계부
SELECT name |'님의 직급은 '| title |'입니다.'|FROM emp_test;
SELECT distinct dept_name, name FROM emp_test;
SELECT name 이름, salary * 12 연봉 , dept_name 부서 FROM emp_test ORDER BY dept_name, salary NULLS FIRST; //dept_name을 오름차순 정렬 한후 해당 dept_name의 salary를 다시 오름차순 정렬하고 NULL은 처음에 표시
SELECT name 이름, salary 월급, in_date 입사일 FROM emp_test WHERE salary BETWEEN 1000 AND 2500 ORDER BY salary;
SELECT name 이름, dept_name 부서 FROM emp_test WHERE dept_name IN('관리부','영업부') ORDER BY dept_name;
SELECT * FROM emp_test WHERE name LIKE '김%';
SELECT * FROM emp_test WHERE name LIKE '_\_\%' ESCAPE '\';
SELECT * FROM emp_test WHERE name LIKE '_?_?%' ESCAPE '?';
SELECT name, MAX(salary) FROM emp_test WHERE dept_name = '관리부';
SELECT * FROM c_emp, s_dept WHERE c_emp.dept_id = s_dept.id;
SELECT * FROM c_emp, sal_grade WHERE c_emp.salary BETWEEN sal_grade.losal AND sal_grade.hisal;
SELECT name || '님은 ' || dept_name || '에서 근무함' FROM emp_test;
SELECT name || ' 님은 ' || dept_name || '이며 연봉은' || NVL(salary ,0) * 12 || '원' FROM emp_test;
SELECT dept_name || '의 ' || name || ' 입니다' FROM emp_test ORDER BY dept_name;
SELECT name 이름, dept_name 부서, salary * 12 연봉 FROM emp_test ORDER BY dept_name, salary desc;
SELECT salary * 12 연봉, in_date 입사년도, name 이름 FROM emp_test ORDER BY salary desc, in_date;
SELECT DISTINCT title "직책 종류" FROM emp_test WHERE title IS NOT NULL;
SELECT name 이름, title 직책, in_date 입사일 FROM emp_test WHERE in_date LIKE '01%';
SELECT name 이름, title 직책, in_date 입사일 FROM emp_test WHERE in_date BETWEEN '01-01-01' AND '01-12-31';
SELECT name 이름, in_date 입사일 FROM emp_test WHERE salary IS NULL ORDER BY in_date;
SELECT name 이름, salary 급여, dept_name 부서 FROM emp_test WHERE dept_name IN('관리부') AND salary >= 6000;
SELECT dept_name 부서명, AVG(salary) "부서 월급 평균", SUM(salary) "월급 합", COUNT(dept_name) "인원수 조회 " FROM emp_test WHERE dept_name IS NOT NULL AND dept_name Not IN('대기발령') GROUP BY dept_name;
SELECT dept_name 부서명, AVG(salary) "부서 월급 평균", SUM(salary) "월급 합", COUNT(dept_name) "인원수 조회 " FROM emp_test WHERE dept_name IS NOT NULL AND dept_name Not IN('대기발령') GROUP BY dept_name having count(*) >= 5 AND avg(salary) >= 5000;
SELECT c.name 이름, s.dept_name 부서명, TO_CHAR(c.salary * 12 ,'L999,999.99') 연봉 FROM c_emp c, s_dept s WHERE c.dept_id = s.id AND c.name LIKE('김%') ORDER BY c.salary DESC;
SELECT s.dept_name 부서명, c.name 이름, TO_CHAR(TRUNC(c.salary / 30, 0), 'L999,999.99') 일당 FROM c_emp c, s_dept s WHERE c.dept_id = s.id AND c.salary >= 2000 ORDER BY s.dept_name, c.name, c.salary desc;
select c.dept_id 부서번호, s.dept_name 부서명, AVG(c.salary) 평균월급 FROM c_emp c, s_dept s WHERE c.dept_id = s.id GROUP BY c.dept_id, s.dept_name;
SELECT c.dept_id 부서번호, s.dept_name 부서명, AVG(c.salary) FROM c_emp c, s_dept s where c.dept_id = s.id AND s.dept_name In('총무부') GROUP BY c.dept_id, s.dept_name;
select c.name 이름, c.salary 월급, sg.grade 월급등급 , s.dept_name 부서명 from c_emp c, s_dept s, sal_grade sg where c.dept_id = s.id AND s.dept_name IN ('개발부', '영업부') AND c.salary BETWEEN sg.losal AND sg.hisal;
GROUP BY s.dept_name, sg.grade HAVING COUNT(s.dept_name) >= 2; ```
select
c/n [, c/n]
from t/n [, t/n]
where "조건"
group by c/n [, c/n]
having "조건"
order by