
SQL은 데이터베이스를 다루기 위해 사용하는 언어다. 그래서 SQL을 공부하기전에 데이터베이스가 무엇인지 아주 간략하게 짚고 넘어간다.데이터를 저장해 놓은 곳여러 사람들이 공유하고 사용할 목적으로 통합관리되는 정보의 집합관련성 있는 데이터의 모음관계형 모델에서는 데이터
관계형 데이터베이스에 접근할 때 사용하는 프로그래밍 언어다.직역하면 구조화된 '질의' 언어다. 즉, 사용자가 원하는 동작을 DBMS에게 요청할 때 사용한다.DDL(Data Definition Language)데이터 정의 언어데이터베이스의 구조를 정의하는 명령어다.데이터
다음과 같은 그림을 'ER(Entity-Relational) 다이어그램' 이라고 한다. 앞으로 SQL을 배우며 사용할 테이블 간의 관계를 나타낸 그림이다.가장 위의 텍스트가 테이블 이름이고 그 아래에 있는 것들이 컬럼 이름이다. 예를 들어, REGIONS 테이블은 re
데이터 조작 언어(DML)에는 조회(SELECT),추가(INSERT),변경(UPDATE),삭제(DELETE)가 있다. 그 중 SELECT문을 시작으로 DML을 학습한다.SELECT문은 데이터베이스에 저장되어 있는 데이터를 조회하는 데 사용한다. SELECT문의 FROM
단일행 함수를 다루기 전에 먼저 그 상위 개념인 내장 함수부터 알아보고 가자. 내장 함수의 특징은 다음과 같다.SQL을 작성할 때 유용한 기능이 제공되는 함수다.DBMS 제품마다 차이가 있다.'함수'라는 의미 그대로 특정 값을 입력하면 함수의 연산 과정에 따라 다른 값
여러 행이 입력되고, 한 행씩 반환한다.중첩은 한 번만 허용된다.WHERE절에서 사용할 수 없다.그룹 함수가 아니거나 그룹 함수가 포함되어 있지 않은 표현식은 SELECT절에 사용할 수 없다.그룹 함수의 결과는 1행 혹은 그룹당 1행인데, 그룹 함수와 관련이 없는 컬럼
두 개 이상의 테이블을 가로로 연결해서 데이터를 조회하는 것.여러 테이블에 흩어져 있는 정보중에서 사용자가 원하는 정보만 가져와서 가상의 테이블처럼 활용한다.예를 들어, EMP테이블에 있는 사원들이 속한 부서이름을 알고 싶다. 그러나 EMP테이블에는 사원들이 속한 부서
SELECT문의 내부에 정의된 또 다른 SELECT문을 서브쿼리라고 한다.서브쿼리의 결과를 활용해서 기능을 수행하는, 즉, 서브쿼리를 포함하는 SELECT문을 메인쿼리라고 한다.서브쿼리를 포함시킬 수 있는 절은 다음과 같다.WHERE절HAVING절FROM절서브쿼리는 메
논리적인 작업 단위를 구성하는 데이터 조작어(DML)의 모음이다. 즉, 어떤 기능을 수행하기 위한 최소 작업 단위이다.예를 들어 계좌이체 기능을 생각해보자. A계좌의 10만원을 B계좌로 송금하려고 한다. 그렇다면 A계좌와 B계좌의 잔액을 변경하기 위한 UPDATE문이
데이터 정의어라 부르는 DDL(Data Definition Language)은 데이터베이스 내의 데이터를 저장하고 관리하기 위해 필요한 여러 '객체'들을 생성, 수정, 삭제하기 위해 사용하는 명령어다. 그래서 DDL에는 CREATE문, ALTER문, RENAME문, T
데이터 검색 성능의 향상을 위해 테이블의 컬럼에 사용하는 데이터베이스 객체이다. 테이블에 저장된 특정 행의 주소를 책의 목록처럼 만든 것이다. 인덱스를 사용해서 원하는 데이터를 검색하는 방법이 Index Scan이고, 인덱스를 사용하지 않고 데이터의 처음부터 끝까지 검
뷰(Veiw)란? 하나 이상의 테이블을 조회하는 SELECT문을 저장한 객체다. SELECT문을 저장한 것이므로 가상의 테이블이라 볼 수 있고, 물리적인 데이터가 저장된 것은 아니다. 그래서 INSERT, UPDATE, DELETE 작업의 수행이 사실상 불가능하다. FROM절에서 사용하는 서브쿼리인 '인라인 뷰'와 비슷하지만 인라인 뷰는 SQL문 실행 이...
일련번호를 자동으로 생성하는 데이터베이스 객체다. 중복을 허용하지 않는, 행을 구분하기 위한 기본키 값을 생성하는 데 주로 사용된다.INCREMENT BY value : 한번에 value값 만큼 증가시킨다. 기본값은 1이다.START WITH value : 시작값을 v
테이블의 특정 컬럼에 저장될 수 있는 데이터의 조건이다. 제약조건을 지정하면 조건에 부합하지 않는 데이터는 저장할 수 없다. 오라클에서 사용하는 제약조건은 다음과 같다.NOT NUUL지정한 컬럼에 NULL을 허용하지 않는다.UNIQUE지정한 컬럼의 값은 유일한 값이어야
조건에 맞는 최상위 레코드 n개 혹은 최하위 레코드 n개를 조회하는 쿼리다. ROWNUM이라는 컬럼을 사용한다. ROWNUM은 조회된 행에 행번호를 1번부터 순서대로 부여하는 '의사컬럼'이다.FROM절의 서브쿼리에서 직원이름, 급여를 조회하고 급여의 내림차순으로 정렬한
테이블의 데이터를 특정 컬럼을 기준으로 행들을 그룹화하여 결과를 조회하는 함수이다. 분석함수에는 순위함수(RANK, DENSE_RANK, ROW_NUMBER)와 집계함수(SUM, MIN, MAX, AVG, COUNT)가 있다.ORDER BY절에 기준이되는 컬럼과 정렬옵
한 테이블에 저장되어 있는 데이터들이 상하(부모, 자식) 관계를 가질 때, 이 구조를 이용해서 테이블을 조회하는 SQL이다.계층형 쿼리를 이용해서 트리 구조의 형태로 결과를 조회할 수 있다.일반적으로 조직도나 카테고리, 메뉴 등의 정보가 트리구조를 가지고 있다.LEVE