Computer Science/데이터베이스

서브쿼리 서브쿼리(Subquery)란 하나의 SQL문안에 포함되어 있는 또 다른 SQL문을 말한다. 조인은 조인에 참여하는 모든 테이블이 대등한 관계에 있기 때문에 조인에 참여하는 모든 테이블의 커럼을 어느 위치에서라도 자유롭게 사용할 수 있다. 그러나 서브쿼리는 메인쿼리의 컬럼을 모두 사용할 수 있지만 메인 쿼리는 서브쿼리의 컬럼을 사용할 수 없다. 서브 쿼리 사용시 주의점 서브쿼리를 괄호로 감싸서 사용한다. 서브 쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용한다. 단일 행 비교 연산자는 서브 쿼리의 결과가 반드시 1건 이하이어야 하고 복수 행 비교 연산자는 서브 쿼리의 결과 건수와 상관 없다. 서브쿼리에서는 ORDER BY를 사용하지 못한다. ORDER BY절은 SELECT절에서 오직 한개만..
계층형 질의 테이블에 계층 형 데이터가 존재하는 경우 데이터를 조회하기 위해서 계층 형 질의(Hierarchical Query)를 사용 계층 형 데이터란 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터를 말한다.
집합연산자의 종류 UNIOIN 여러개의 SQL문의 결과에 대한 합집합 중복된 행은 한개의 행으로 출력됨 UNION ALL 여러 개의 SQL문의 결과에 대한 합집합 중복된 행도 그대로 결과에 표시한다. INTERSECT 여러개의 SQL문의 대한 교집합 중복된 행은 하나로 표시한다. EXCEPT 위의 SQL문의 집합에서 아래의 SQL문의 집합을 뺀 결과를 표시한다. UNION ALL을 쓰는 것이 성능상 유리한 경우가 많다. 오른쪽 아래처럼 간단하게 사용할 수 있기에 실무에서는 자주 쓰이지 않음 EXCEPT는 SQL(OACLE)에서 MINUS로 구현되어 있다. MINUS연산은 먼저 중복을 없앤다. -> 만약 같은 값이 여러개 있다면 MINUS를 하면 전부 다 제거한다. (이순신, 이순신, 김홍철) MINUS ..
조인이란? 두개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것을 조인이라고 하며 일반적으로 사용 되는 SQL문의 상당수가 조인으로 이루어져 있다. 일반적인 경우 PRIMARY KEY와 FOREIGN KEY의 값 연관에 의해 조인이 이루어지며 PK, FK 관계와는 별도로 일반 컬럼 끼리 조인이 이루어지는 경우도 있다. 최소로 필요한 조인 조건의 개수 = 조인되는 테이블의 수 -1 JOIN의 형태 INNER JOIN: INNER JOIN은 OUTER(외부) JOIN과 대비하여 내부 JOIN이라고 하며 JOIN 조건에서 동일한 값이 있는 행만 반환 NATURAL JOIN: NATURAL JOIN은 두 테이블 간의 동일한 이름을 갖는 모든 컬럼들에 대해 EQUI(=) JOIN을 수행(FK) USIN..
ORDER BY 정렬 ORDER BY 절은 SQL 문장으로 조회된 데이터들을 다양한 목적에 맞게 특정 컬럼을 기준으로 정렬하여 출력하는데 사용 ORDER BY 절에 컬럼명 대신에 SELECT 절에서 사용한 ALIAS 명이나 컬럼 순서를 나타내는 정수(SELECT에 적은 순서,1부터시작)도 사용 가능 별도로 정렬 방식을 지정하지 않으면 기본적으로 오름차순이 적용되며, SQL 문장의 제일 마지막에 위치 DESC: 내림차순 ASC: 오름차순(default) 숫자 형 데이터 타입은 오름차순으로 정렬했을 경우에 가장 작은 값부터 출력, 날짜 형 데이터 타입은 오름차순으로 정렬했을 경우 날짜 값이 가장 빠른 값이 먼저 출력 NULL값을 가장 큰 값으로 간주하여 오름차순으로 정렬했을 경우에는 가장 마지막에, 내림차순..
집계 함수 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수 GRUOP BY 절은 행들을 소 그룹화한다. SELECT 절, HAVING 절, ORDER BY 절에 사용할 수 있다. DISTINCT는 중복값 제거 (ex. 나이데이터가 1,2,3,4,4,4 가 있을 때 DISTINCT 를 쓰면 1,2,3,4가 조회됨) COUNT(*)은 NULL을 포함한다. (컬럼일부만 NULL일때를 고려안해도됨) COUNT(표현식,또는 컬럼)은 NULL을 제외한다. GROUP BY 절 GROUP BY 절을 통해 소그룹 별 기준을 정한 후, SELECT 절에 집계 함수를 사용한다. 집계 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행한다. GROUP BY 절에서는 SELECT 절과는 달리 ALIAS..
단일 행 함수의 주요 특징 SELECT, WHERE, ORDER BY 절에 사용 가능하다. 각 행(ROW)들에 대해 개별적으로 작용하여 데이터 값들을 조작하고, 각각의 행에 대한 조작 결과를 리턴한다. 여러 인자(Argument)를 입력해도 단 하나의 결과만 리턴한다. 함수의 인자(Argument)로 상수, 변수, 표현식이 사용 가능하고, 하나의 인수를 가지는 경우도 있지만 여러개의 인수를 가질 수도 있다. 특별한 경우가 아니면 함수의 인자(Argument)로 함수를 사용하는 함수의 중첩이 가능하다. 트림은 양쪽공백제거 1은 하루다. 이것을 나눠서 계산해주면 된다. 데이터 변환의 종류 명시적 형 변환: 데이터 변환 형 함수로 데이터 유형을 변환하도록 명시해주는 경우 암시적 형 변환: DBMS가 자동으로 ..
WHERE 조건절 사용자들은 자신이 원하는 자료만을 검색하기 위해서 SQL 문장에 WHERE절을 이용하여 자료들에 대해 제한할 수 있다. WHERE절은 FROM 절 다음에 위치하며, 조건식은 아래내용으로 구성된다. 문자열 >,,< 비교시 문자열을 숫자로 바꾸러 비교, 문자열에 들어잇는 것이 숫자가 아니라면 에러 실무에서 TRIM(공백제거)을 많이 씀 왼쪽이 변수 오른쪽은 상수이다. 오른쪽 것을 기준으로 변환한다. char(6):"sqld" =var(6):"sqld " 비교시에는 같다고 결과 나옴 var(6):"sqld " = char(6):"sqld" 비교시에는 다르다고 결과 나옴 ROWNUM을 쓰면 갯수를 정할 수 있다. (ORACLE 제공 기..
윤재에요
'Computer Science/데이터베이스' 카테고리의 글 목록 (2 Page)