본문 바로가기

728x90
반응형

순이코딩/데이터베이스

(10)
[데이터베이스] SQL-서브쿼리(SUB QUERY) 1. 서브쿼리(SUB QUERY) 서브쿼리(SUB QUERY)는 다른 쿼리 안에 포함되어 있는 SELECT쿼리를 의미합니다. 보다 다양한 데이터를 출력하는 방법을 제공해 줍니다. ■ 스칼라 서브쿼리 스칼라 서브쿼리는 SELECT에서 사용되는 서브쿼리로 하나의 컬럼에 대해 하나의 행만 반환하는 특징이 있습니다. 출력되는 하나의 값이 없다면 NULL값을 반환합니다. 스칼라 서브쿼리의 실행원리는 메인쿼리에서 출력되는 튜플의 수만큼 SELECT에 있는 서브쿼리가 반복실행됩니다. 이 스칼라 서브쿼리는 OUTER JOIN으로 대체 가능합니다. 이렇게 스칼라 쿼리를 사용한 것과 OUTER JOIN의 결과 출력 창이 같습니다. 스칼라 서브쿼리를 사용할 때 주의사항이 있습니다. 스칼라 서브쿼리로 출력되는 행은 1개 혹은..
[데이터베이스] ROWNUM / TOP-N 페이징이란 데이터를 조금씩 보여주는 기술을 말합니다. 한꺼번에 많은 양의 데이터가 노출되어 서버가 부담이 가지 않도록 방지하는 기술입니다. 구글에서 검색했을 때 페이지를 끝까지 내리면 1 2 3 4 5 이런 식으로 페이지가 나누어져 있는 걸 볼 수 있는데 이것이 페이징입니다. 이러한 페이징 기술은 ROWNUM과 TOP-N 기술로 구현합니다. 1. ROWNUM / TOP-N ■ ROWNUM ROWNUM은 테이블의 튜플(행)에 임시로 부여되는 일련번호입니다. WHERE 조건에 ROWNUM을 사용하면 출력되는 튜플(행) 개수 제한 가능합니다. 그런데 여기서 주의해야 할 사항은 1의 값을 먼저 사용해야 2의 값을 사용할 수 있다는 점입니다. 아래의 그림에서 가운데 그림을 보면 1의 값에 접근하지 않고 2에 접근..
[데이터베이스] SQL - TCL / DCL 1. TCL TCL은 트랜잭션을 제어하는 것입니다. 트랜잭션이란 "쪼갤 수 없는 업무 처리의 최소 단위"를 의미하는데 데이터베이스에서는 상태를 변화시키기 위해 수행하는 작업의 단위를 의미합니다. ■ COMMIT / ROLLBACK COMMIT은 마지막 COMMIT 시점 이후 실행한 트랜잭션 결과를 데이터베이스에 영구 저장하는 것입니다. ROLLBACK은 실행한 트랜잭션 결과에 대해 실행하기 전 상태로 원상 복구하는 것입니다. 마지막으로 COMMIT 한 시점까지만 ROLLBACK이 가능합니다. 보통 DML(UPDATE, INSERT, DELETE)한 대상은 바로 테이블에 영구 반영되는 것이 아니므로 COMMIT을 명시해야 합니다. SAVEPOINT는 ROLLBACK명령어에 대해 특정 지점까지만 복구하도록 ..
[데이터베이스] SQL-DML(Data Manipulation Language) 1. DML(Data Manipulation Language) DML(Data Manipulation Language)은 테이블에 원하는 데이터를 입력/수정/삭제하는 문법입니다. DDL과는 다르게 데이터를 직접 조작하는 언어입니다. ■ INSERT 테이블에 새로운 데이터를 튜플(행) 단위로 입력할 때 사용합니다. INSERT INTO 테이블명 (COLUMN_LIST) VALUES (COLUMN_LIST에 입력할 값 리스트) ; INSERT INTO 수강생정보(학생ID, 학생이름, 소속반) VALUES ('S0010', '김군순', 'A'); 위의 코드와 같이 입력하면 수강생정보라는 테이블에 새로운 튜플이 추가된 것을 볼 수 있습니다. INSERT 사용시 주의할 점이 있습니다. 1) 식별자에 NULL값이나..

728x90
반응형