728x90
[SQL 과 일반 프로그래밍 언어]
SQL | 일반 프로그래밍 언어 | |
용도 | 데이터베이스에서 데이터를 추출하여 문제 해결 | 모든 문제 해결 |
입출력 | 입력은 테이블, 출력도 테이블 | 모든 형태의 입출력 가능 |
번역 | DBMS | 컴파일러 |
사용 예 | SELECT * FROM Book; |
int main() {...} |
[SQL 기능에 따른 분류]
- 데이터 정의어(DDL)
- 데이터 조작어(DML)
- 데이터 제어어(DCL)
데이터 정의어는 테이블이나 관계의 구조를 생성하는데 사용하며 CREATE, ALTER, DROP 문 등이 있습니다.
데이터 조작어는 테이블에 데이터를 검색, 삽입, 수정, 삭제 하는데 사용하며 SELECT, INSERT, DELETE, UPDATE문 등이 있습니다. 여기서 SELECT 문은 특별히 Query문 (질의어) 라고도 합니다.
데이터 제의어는 데이터의 사용 권한을 관리하는데 사용하며, GRANT, REVOKE 문 등이 있습니다. SQL문의 내부적 실행 순서는 다음과 같습니다.
예) 김연아 고객의 전화번호를 찾으시오.
SELECT phone
FROM Customer
WHERE name='김연아'
[SELECT 문]
- SELECT bookname, publisher (속성 이름)
- FROM Book (테이블 이름)
- WHERE price >= 10000; (검색 조건)
WHERE 절에 조건으로 사용할 수 있는 술어는 다양하며 아래의 표에서 필요에 따라 참고하면 됩니다.
술어 | 연산자 | 예 |
비교 | =, <>, <, <=, >, >= | price < 20000 |
범위 | BETWEEN | price BETWEEN 10000 AND 20000 |
집합 | IN, NOT IN | price IN (10000, 20000, 30000) |
패턴 | LIKE | bookname LIKE '축구의 역사' |
NULL | IS NULL, IS NOT NULL | price IS NULL |
복합조건 | AND,. OR, NOT | (price < 20000) AND (bookname LIKE '축구의 역사') |
집계 함수의 종류
집계 함수 | 문법 | 사용 예 |
SUM | SUM([ALL | DISTINCT] 속성이름) | SUM(price) |
AVG | AVG([ALL | DISTINCT] 속성이름) | AVG(price) |
COUNT | COUNT({[[ALL | DISTINCT] 속성이름] | *}) | COUNT(*) |
MAX | MAX([ALL | DISTINCT] 속성이름) | MAX(price) |
MIN | MIN([ALL | DISTINCT] 속성이름) | MIN(price) |
[ 조인(Join) 연산 ]
[ 부속질의(Subquery) ]
- 상관 부속질의(Correlated subquery)는 상위 부속질의의 튜플을 이용하여 하위 부속질의를 계산함
- 상위 부속질의와 하위 부속질의가 독립적이지 않고 서로 관련을 맺고 있음
[EXISTS]
- EXISTS는 원래 단어에서 의미하는 것과 같이 조건에 맞는 튜플이 존재하면 결과에 포함시킴
- 즉 부속질의문의 어떤 행이 조건에 만족하면 참임
- 반면 NOT EXISTS는 부속질의문의 모든 행이 조건에 만족하지 않을 때만 참임
4. 데이터 정의어
[ CREATE 문]
- 테이블을 구성하고, 속성과 속성에 관한 제약을 정의하며, 기본키 및 외래키를 정의하는 명령
- PRIMARY KEY는 기본키를 정할 때 사용하고, FOREIGN KEY는 외래키를 지정할 때 사용하며, ON UPDATE와 ON DELETE는 외래키 속성의 수정과 튜플 삭제 시 동작을 나타냄
[ ALTER 문 ]
- ALTER문은 생성된 테이블의 속성과 속성에 관한 제약을 변경하며, 기본키 및 외래키를 변경함
- ADD, DROP은 속성을 추가하거나 제거할 때 사용함
- MODIFY는 속성의 기본값을 설정하거나 삭제할 때 이용함
[ DROP 문 ]
- DROP문은 테이블을 삭제하는 명령
- 테이블의 구조와 데이터를 모두 삭제하므로 사용에 주의해야 함 (데이터만 삭제하려면 DELETE)
5. 데이터 조작어
[ INSERT 문 ]
- 테이블에 새로운 튜플을 삽입하는 명령
- 대량삽입(Bulk Insert)란 한번에 여러 개의 튜플을 삽입하는 방법
[ UPDATE 문]
- UPDATE문은 특정 속성 값을 수정하는 명령이다.
[ DELETE 문 ]
- DELETE문은 테이블에 있는 기존 튜플을 삭제하는 명령임.
728x90
'Be Smart > SQL' 카테고리의 다른 글
데이터베이스 프로그래밍 (0) | 2021.09.14 |
---|---|
SQL 고급 (0) | 2021.09.13 |
SQL 문법 정리 (0) | 2021.08.04 |
SQL 기본 쿼리문 정리-2 (0) | 2021.08.03 |
SQL 기본 쿼리문 정리 (0) | 2021.08.03 |
댓글