영보의 SystemOut.log

[DB] SQL문 정리/ SQL형식 / DQL / DML / DDL / TCL / DCL / SELECT 본문

Database/Oracle

[DB] SQL문 정리/ SQL형식 / DQL / DML / DDL / TCL / DCL / SELECT

영보로그 2020. 8. 4. 11:24
반응형

SQL : 구조화된 질의 언어로 문자열 형식으로 만들어진다.

 


< SQL Commands>

 DDL DML DCL TCL

CREATE

SELECT GRANT COMMIT

ALTER

INSERT REVOKE ROLLBACK

DROP

UPDATE   SAVEPOINT

RENAME

DLELTE   SET TRANSACTION

TRUNCATE

MERGE    

COMMENT

CALL    

 

 

* SQL문 작성 방법

 - SQL 문장은 대소문자를 구별하지 않는다

 - SQL 문장은 한 줄 또는 여러 줄에 입력 가능

 - 일반적으로 키워드는 대문자로 입력

 - 가장 최근의 명령어가 1개가 SQL buffer에 저장됨

 - SQL문 마지막 절의 끝에 ";"를 기술하여 명령의 끝을 표시함

 

 

 

 

* Oracle의 특징

 - 자바는 중간에 오류가 나면 종료하지만, 오라클은 오류가 나면 다음 문장을 수행한다.

 - 비 절차적 언어

 

 

 


유형

사용 명령문 기능

질의어
DQL : Data Query Language

웹프로그래머
주요 사용
SELECT
데이터 검색


데이터 조작어
DML : Data Manipulation Language

INSERT
UPDATE
DELETE

데이터 입력
데이터 수정
데이터 삭제

데이터 정의어
DDL : Data Definition Language
Table, view, sequence. PL/SQL CREATE
ALTER
DROP
RENAME
TURNCATE

데이터베이스 객체 생성
데이터베이스 객체 수정
데이터베이스 객체 삭제
데이터베이스 객체 이름 변경
데이터 및 저장 공간 삭제 / 잘라내기
트랜잭션 처리
TCL : Transaction Control Language
일괄처리 COMMIT
ROLLBACK
SAVEPOINT

트랜잭션의 정상적인 종료 처리
트랜잭션 취소
트랜잭션 내에 임시 저장점 설정


데이터 제어어
DCL : Data Control Language

권한 GRANT ~ TO
REVOKE ~ FROM

권한 부여
권한 취소

 

 

 

* SELECT

 - *              : 테이블의 모든 coloum출력

 - alias          : 해당 colum에 대해서 다른 이름을 부여할 때 사용

 - table_name : 질의 대상 테이블명

 - condition   : colum, 표현식, 상수 및 비교 연산자

 - --            : 한줄 주석


SELECT 

FROM table명

필요한 데이터만, 전체데이터  - 필요한 데이터 : 컬럼명, 컬럼명 ..
 - 전체 : *

WHERE
조건(if)

조건을 만족하는 행들만 검색  

GROUP BY
그룹 컬럼

그룹별 처리  

HAVING
그룹 조건

그룹 조건   반드시 GROUP BY와 함께 쓰임

ORDER BY
컬럼명(ASC/DESC)

질의 결과 정렬을위한 옵션 
〓 INDEX
  ASC : 오름차순(Default)  
  DESC : 내림차순

emp(table)

모든 데이터 출력   SELECT *
  FROM emp;

DISTINCT

중복되는 행을 제거하는 옵션  

     → 오라클은 데이터 정렬이 안된 상태 → 저장된 순서대로 읽어온다.

 

* 주의점

 1. 대소문자는 구분하지 않는다. (단, 저장된 데잍는 대소문자 구분)

   ex) SELECT ename, sal FROM emp WHERE ename='king'; 

 2. 문자열 표현 : ' '

 3. 날짜 표현 : ' ' (문자열)

   ex) SELECT ename, sal, hiredate FROM emp;

 4. 숫자는 ' ' 를 사용하지 않는다

 

 

* 문자열 결합

- 오라클 : 문자열 처리 ' ' 

              " " 은 인용부호로 쓰임

  ex) SELECT * FROM emp WHERE ename="KING" ==> error

 

 

1. 형식

2. 데이터형

============ 암기

3. 응용

4. 연동 ===> 자바, NodeJS(코틀린)

5. 반복제거 (함수) => PL/SQL 

 

* INLINE View => 페이징 기법

반응형