반응형
INSERT
* insert는 into를 써준다!
(1) insert into (테이블) (컬럼1,컬럼2...) values (데이터1, 데이터2...);
insert into emp(empno,ename) values(1000,'임베스트');
/* 아래처럼 컬럼을 생략해도 된다. 하지만 이때는 1000이 들어갈 숫자형 컬럼과 '임베스트'가 들어갈
문자형 컬럼이 각각 하나씩만 있어야 한다 */
insert into emp values(1000, '임베스트');
(2) select 이용하여 insert
--dept에서 모든 데이터를 dpet_test에 입력한다
insert into dept_test select * from dept;
SELECT
(1) select 기본
select * --컬럼
from emp --테이블
where 사원변호=1000; --조건
(2) order by
--ename으로 오름차순정렬하고, sal로 내림차순 정렬한다
select * from emp order by ename, sal desc;
(3) distinct
emp테이블의 deptno칼럼을 조회한 후 중복은 제거하고 출력
select distinct deptno from emp
(4) ename
select (컬럼이름) as (칼럼별칭) from (테이블이름) (테이블별칭)
select ename as "이름" from emp a --출력시 칼럼이름은 "이름"
where a.empno=1000; --emp대신 a라는 테이블명 사용
(5) where
- like
와일드카드 | 설명 |
% | 문자를 포함한 모든것 |
_ | 한개인 단일 문자 |
select * from emp
where ename like 'test%'; --test로 시작하는 모든 데이터
select * from emp
where ename like '%1'; --1로 끝나는 모든 데이터
select * from emp
where ename like '%est%'; --중간에 est가 있는 모든 것
select * from emp
where ename like 'test_'; --test로 시작하고 하나의 글자만 더있는 것
- in
where (컬럼) in ("값1","값2"...) : 컬럼이 값1,값2...중에 있을때
--단일
select * from emp
where job in ('clerk','manager');
--복수, job,ename가 clerk,test1 이거나 manager,test4 이면 모든 컬럼을 출력
select * from emp
where (job,ename) in (('clerk','test1'),('manager','test4'));
- null
모르는값, 부재값은 모두 null이다.
null과 숫자 혹은 날짜를 연산하면 null, 비교연산자로 비교하면 항상 false
--is null
select * from emp
where mgr is null;
--is not null
select * from emp
where mgr is not null;
(6) group by
-- deptno과 sal의합을 나타내는 컬럼을 만든 뒤 deptno별로 데이터 나열
select deptno,sum(sal) from emp group by deptno
having sum(sal) >10000; --having을 이용하여 조건문 사용가능
-- 부서별, 관리자별 소그룹을 만든다 ex) 10부서 1관리자 급여, 10부서 2관리자 급여, ....
select deptno, mgr, avg(sal) from emp group by deptno, mgr;
(7) count
행의 수를 계산한다
--emp테이블의 모든 행 수를 계산
select count(*) from emp;
--mgr의 행 수를 계산, 단 null값은 제외
select count(mgr) from emp;
UPDATE
* update는 테이블뒤에 set을 써준다!
--emp테이블의 empno==100인것을 찾아서 ename칼람의 값을 조조로 바꾼다
update emp set ename='조조' where empno=100;
DELETE
* delete는 from을 써준다!
--emp테이블에서 empno가 100인 직원 삭제
delete from emp where empno=100;
(특징들)INSERT, UPDATE, DELETE
권한이슈로 select보다 비교적으로 적게 쓰는 insert, update, delete는 다음의 특징만 기억해놓자!
- insert : insert는 into를 써준다!
- update : update는 테이블뒤에 set을 써준다!
- delete: delete는 from을 써준다!
반응형