insert into emp1 values(7839,'홍길동','MANAGER',1234,'1981/05/06',5000,null,10); // 데이터 삽입 commit; // **영구저장**
- 결과
update emp1 set sal = sal * 1.1;
- 결과
update emp1 set sal = sal * 1.1 where ename='김마크'; // 김마크만 업데이트
- 결과
✔ 모든 직원의 입사일을 오늘로 수정하는 쿼리문
UPDATE emp1 set hiredate = sysdate; select * from emp1;
delete from 테이블명 where 조건;
✔ ename이 F로 시작하는 사람을 찾는 쿼리문
select * from emp where ename like 'F%';
✔ 위치 상관없이 이름 중에 A가 포함된 사람을 찾는 쿼리문
select * from emp where ename like '%A%';
- 결과
✔ 이름의 두번째 글자가 A인 사원을 찾는 쿼리문
select * from emp where ename like '_A%';
- 결과
- _(언더바): 문자에 대한 와일드 카드 역할
✔ 이름에 A를 포함하지 않는 사원을 찾는 쿼리문
select * from emp where ename not like '%A%';
- NOT LIKE 활용
- JAVA에서 null은 참조형일때만 알 수 없는 주소로 할당
- DB에서 null은 알 수 없는 값을 의미하여 연산, 할당, 비교 불가
✔ 커미션(COMM)을 받지 않는 사원을 검색하는 쿼리문
select * from emp where comm is null;
✔ 커미션(COMM)을 받는 사원을 검색하는 쿼리문
select * from emp where comm is not null;
오름차순(ascending) : 작은 값이 위에 출력되고 아래로 갈수록 큰 값이 출력 (default)
내림차순(descending) : 큰 값이 위에 출력되고 아래로 갈수록 작은 값이 출력
✔ 사원들의 급여를 오름차순으로 정렬하는 쿼리문
select * from emp order by sal asc;
✔ 가장 최근에 입사한 사원부터 정렬하는 쿼리문
select * from emp order by hiredate desc;
✔ 사원들이 소속되어 있는 부서의 번호를 출력하는 쿼리문
select DISTINCT deptno from emp;
✔ 사원들의 salary를 10% 인상한 결과값을 출력하여 '연봉 인상'으로 컬럼명을 지정한 쿼리문 (as는 생략가능)
select ename,(sal*1.1) as "연봉 인상" from emp;
- 결과
select 15 * 67 from dual;
- 결과
하나 이상의 행을 그룹으로 묶어 연산하여, 한 행으로 하나의 결과를 나타내는 함수
SUM : 해당 컬럼 값들에 대한 총합을 구하는 함수
select sum(sal) from emp; ✔ 연봉의 총합 구하기
select avg(sal) from emp; ✔ 연봉의 평균 구하기
select MAX(sal) from emp; ✔ 연봉의 최대값 구하기 select MIN(sal) from emp; ✔ 연봉의 최소값 구하기
select count(*) from emp; ✔ 총 사원 수 구하기 select count(comm) from emp; ✔ 사원들 중 커미션(comm)을 받은 사원의 수를 구하는 쿼리문 select count(DISTINCT job) from emp; ✔ job 종류의 수 구하는 쿼리문
✔ 소속 부서별 평균 급여를 구하는 쿼리문
select deptno,avg(sal) from emp group by deptno;
- 결과
✔ 소속 부서별 사원 수와 커미션(comm)을 받는 사원의 수를 구하는 쿼리문
select deptno,count(*),count(comm) from emp group by deptno;
- 결과
✔ 부서별 평균 급여가 2000 이상인 부서의 번호와 부서별 평균 급여를 출력하는 쿼리문
SELECT DEPTNO, AVG(SAL) FROM EMP GROUP BY DEPTNO HAVING AVG(SAL) >= 2000;
두개 이상의 테이블이 조인될 때 WHERE절에 공동되는 컬럼에 의한 조인이 발생되지 않아 모든 데이터가 검색 결과로 나타나는 경우
서로 다른 테이블에 있는 컬럼들을 하나의 테이블에서 보기 위해 사용
기본키 (PRIMARY KEY)
외래키 (FOREIGN KEY)
- ✔ JONES의 사무실 위치를 출력하는 쿼리문
select emp.ename, dept.loc from emp, dept where emp.deptno = dept.deptno and emp.ename = 'JONES';
- 결과