bom's happy life

sql문법 본문

Deveolpment Study🗂️/Databases

sql문법

bompeach 2023. 3. 6. 11:43

# 기존 테이블 정보를 이용해서 새로운 테이블 정의하기

SELECT dno, dname FROM dept;

CREATE TABLE test_dept
as
select dno, dname from dept;

select * from dept;
select * from test_dept;

.
.
.

-- 검색하기
select * from dept;

-- 전체 복사
create table abcd
as 
select * from dept; -- 이건 모든 내용을 복제한것

-- 구조만 복사
create table abcd
as 
select * from dept where 0=1;

select * from abcd;

.
.
.

# 뷰 만들기
create view dept_view
as 
select * from dept;

select * from dept_view;

.
.
.

# 인덱스 만들기
create index dept_idx 
on dept(dno desc);

.
.
.

# ALTER TABLE에 관하여

select * from test;
desc test;

-- 항목추가
alter table test add tot integer;
-- 변경
alter table test MODIFY name varchar2(40);
--컬럼 살제
alter table test drop column tot;

.
.
.

# DROP(삭제)에 관하여

 DROP TABLE TEST CASCADE; -- 참조중이어도 삭제
 DROP TABLE TEST RESTRICT; -- 참조중이면 삭제불가
 
 DROP TABLE DEPT_IDX;

 DROP VIEW;

.
.
.

-- 사용자 추가하기
CREATE USER USER01 IDENTIFIED BY 1234;

--권한부여
GRANT CONNECT, RESOURCE TO USER01;
--권한취소
REVOKE CONNECT, RESOURCE FROM USER01;

.
.
.

SELECT * FROM EMP;

DELETE FROM EMP WHERE ENO=7369;

ROLLBACK; -- 되돌리기 기능
COMMIT -- 커밋을 하면 되돌릴수없음

.
.
.

# INSERT INTO

SELECT * FROM DEPT;

INSERT INTO DEPT(DNO,DNAME,LOC) VALUES(50,'인사과','대전');

INSERT INTO DEPT VALUES(50,'인사과','대전');


.
.
.

#DELETE (WHERE절 사용해서 특정행 삭제하기)

SELECT * FROM DEPT;

DELETE FROM DEPT WHERE DNO=50;

.
.
.

# UPDATE 하기

SELECT * FROM DEPT;

UPDATE DEPT SET LOC='서울' WHERE DNO=60;

UPDATE DEPT SET DNAME='자재과',LOC='서울' WHERE DNO=70;  -- 여러개 갱신할때 콤마로 구분

.
.
.

# SELECT절을 이용해서 검색하기

SELECT * FROM EMP; -- 전체항목 가져오기

SELECT DNO, ENAME, JOB FROM EMP;  -- 원하는 항목만 가져오기

.
.
.
.

# BETWEEN(AND), IN(OR)

SELECT * FROM EMP;

-- BETWEEN(AND), IN(OR)
SELECT * FROM EMP WHERE SALARY BETWEEN 1000 AND 1500;

SELECT * FROM EMP WHERE SALARY>=1000 AND SALARY<=1500;

SELECT * FROM EMP WHERE COMMISSION IN(300,500,1400);
SELECT * FROM EMP WHERE COMMISSION OR COMMISSION=500 OR COMMISSION=1400;

-- 와일드 카드(%, _)
SELECT * FROM EMP WHERE JOB LIKE '%A%';

.
.
.

# NULL찾기
 
SELECT * FROM EMP;

-- NULL인 것만 찾기
SELECT * FROM EMP WHERE COMMISSION IS NULL;

-- NULL이 아닌것만 찾기
SELECT * FROM EMP WHERE COMMISSION IS NOT NULL;


.
.
.

# JOIN 

-- join 두개 이상의 테이블에서 검색
-- 카디시안 곱
select * from emp;
select * from dept;

select * from emp, dept; -- 두개의 테이블 합치기

















'Deveolpment Study🗂️ > Databases' 카테고리의 다른 글

[iBatis] selectByPk 란?  (0) 2023.05.03
[SQL] 서브쿼리  (0) 2023.04.17
SELECT문의 형식과 사용법  (0) 2023.02.22
데이터베이스 개체의 활용  (0) 2023.02.22
데이터 삽입(INSERT)  (0) 2023.02.22