다중열 서브쿼리 | 비교할 열이 여러개 인 쿼리 |
FROM절에 사용하는 서브쿼리 | 인라인뷰로 FROM절에서 서브쿼리로 추출한 데이터에 별칭을 주어 사용할 수 있다. |
WITH 별칭 AS (서브쿼리).. 별칭 AS (서브쿼리) SELECT ... FROM ... WHERE ...; |
FROM절에 명시한 서브쿼리에 별칭을 아래 SELECT , FROM, WHERE에서 사용할 수 있다. |
SELECT 절에 사용하는 서브쿼리; | 스칼라 서브쿼리라고 부르고, 하나의 열 영역으로 결과를 출력할 수 있다. 반드시 하나의 결과만 반환되도록 작성해 주어야 한다. |
CREATE TABLE 테이블이름 [AS SELECT * FROM 복사할테이블]; |
테이블을 생성하는 쿼리, [복사할 때 사용] |
DROP TABLE 테이블이름; | 테이블 삭제 |
INSERT INTO 테이블 이름(열1,열2,...) VALUES(열1에 들어갈 데이터, 열2에 들어갈 데이터, ...); |
데이터 삽입하는 INSERT구문이다. 반드시 열과 자료형을 맞춰야한다. 열 지정을 생략도 가능하지만 , 열을 지정해서 데이터를 삽입하는 것을 권장 또한 NULL필요시 NULL작성 or ‘’ 작성 NULL 작성 권장 또한 날짜데이터 입력시 TO_DATE를 사용하여 반드시 날짜 자료형에 맞춰 데이터를 삽입한다. (SYSDATE = 오늘날짜) |
INSERT INTO 테이블(열1...) SELECT 열1... FROM 테이블 WHERE 조건; |
서브쿼리를 사용해서 여러 데이터를 한번에 추가할 수 있다. INSERT문에서 서브쿼리를 사용할 때는 VALUES절은 사용하지 않고, 추가되는 테이블의 열 개수와 서브쿼리의 열 개수가 반드시 일치해야 하고, 자료형도 일치해야 한다. |
INSERT ALL INTO 테이블(열1..) ... SELECT *FROM DUAL; |
여러개 데이터를 삽입할 수 있다. |
UPDATE 변경할 테이블 SET 변경할 열=데이터, 변경할 열 = 데이터 WHERE [조건](생략할 경우 지정된 모든 열에 데이터가 변경); |
UPDATE구문이다. |
UPDATE 테이블 SET(열1, 열2..) = (SELECT 열1, 열2 FROM 테이블 WHERE 조건) WHERE 조건; |
UPDATE문도 서브쿼리를 사용하여 데이터를 일부만 수정이 가능하다. |
UPDATE 테이블 SET 열 = (SELECT ...FROM...WHERE), SET 열 = (SELECT..FROM...WHERE) |
열을 하나하나 수정할 경우 이렇게 사용한다. |
UPDATE 테이블 SET 열 = 변경할열의 내용 WHERE = (SELECT ...FROM..WHERE) |
WHERE절에도 서브쿼리를 사용해 데이터를 변경할 수 있다. |
DELETE FROM 테이블이름 WHERE 조건(생략할 경우 지정된 모든 열에 데이터가 삭제); |
DELETE 구문이다. |
DELTETE FROM 데이블 WHERE 열 IN (SELECT..FROM..WHERE); |
WHERE절에 서브쿼리를 넣어 일부 데이터만 삭제가 가능하다. |
ROLLBACK; | 트랜잭션 취소, 이전상태로 돌아감 |
COMMIT | 트랜잭션을 저장 |
DDL(Data Dfinition Language) | 데이터 베이스를 보관하고 관리하기 위해 제공되는 여러 객체(테이블)의 생성/변경/삭제 관련 기능 테이터 정의어를 사용하면 트랜잭션은 자동으로 저장된다. |
DML(Data manipulation language) | 데이터의 생성/삭제/변경 기능언어 |
CREATE TABLE 소유계정.테이블이름( 열1 이름 열1 자료형, ... ); |
새로운 테이블을 생성한다. |
CREATE TABLE 테이블이름 AS SELECT * FROM 기존테이블; |
기존 테이블을 복사해 새로운 테이블을 만든다. |
CREATE TABLE 테이블이름 AS SELECT* FROM 기존테이블 WHERE 조건; |
조건에 맞는 자료들만 새로운 테이블에 넣어 만든다. |
CREATE TABLE 테이블이름 AS SELECT 열1, 열2... FROM 기존테이블 WHERE 1<>1; |
기존 테이블의 열 구조만 복사해 새 테이블을 생성한다. |
ALTER TABLE 테이블이름 ADD 열 열자료형; |
테이블에 새로운 열을 추가한다. |
ALTER TABLE 테이블 이름 RENAME COLUMN 기존열 TO 새로운 열; |
기존열을 새로운 열의 이름으로 변경한다. |
ALTER TABLE 테이블이름 MODIFY 열 새로운열자료형; |
기존 열의 자료형을 교체한다. |
ALTER TABLE 테이블이름 DROP COLUMN 열; |
열을 삭제한다. |
RENAME 기존테이블 TO 새로운테이블이름; | 새로운 테이블이름으로 변경한다. |
TRUNCATE TABLE 테이블이름; | 테이블의 데이터를 모두 삭제한다. DELETE가 WHERE조건없이 하는 것과 기능이 같지만, DDL은 자동으로 트랜잭션이 저장된다. |
DROP TABLE 테이블이름; | 테이블을 삭제한다. |
'Back-end' 카테고리의 다른 글
웹 프로그래밍 (0) | 2021.08.07 |
---|---|
SQL 문법 (4) (0) | 2021.08.01 |
Springboot 동작원리 (0) | 2021.07.19 |
JPA 개념 (0) | 2021.07.18 |
Spring 개념 (0) | 2021.07.18 |