본문 바로가기

전체 글

(102)
[모두의 SQL] 7장. 서브쿼리: SELECT 문 안에 있는 SELECT 문 서브쿼리(sub query) SELECT 문 안에 다시 SELECT 문이 기술된 형태의 쿼리 서브쿼리의 결과를 메인 쿼리에서 받아 처리하는 구조로, 중첩된(nested) 쿼리라고도 부름 서브쿼리의 결과는 메인쿼리의 조건으로 사용 SELECT 열이름1, 열이름2, ... FROM 테이블 이름 WHERE 조건식 연산자 (SELECT 열이름1, 열이름2, ... FROM 테이블 이름 WHERE 조건식); 서브쿼리의 규칙 괄호로 묶어서 사용, 메인쿼리는 괄호로 묶을 필요가 없음 메인쿼리와 서브쿼리를 연결하기 위해 단일 행 연산자나 다중 행 연산자 사용 메인쿼리와 서브쿼리의 연결 형태는 연산자에 따라 의미가 다름 메인쿼리는 연산자의 왼쪽에 기술, 서브쿼리는 오른쪽에 기술 서브쿼리, 메인쿼리의 순서로 SELECT ..
[모두의 SQL] 6장. 조인과 집합 조인: 한 개 이상의 테이ㅘ 테이블을 서로 연결하여 사용하는 기법 조인 기법의 종류 곱집합(cartesian product): 가능한 모든 행을 조인 동등 조인(equi join): 조인 조건이 정확히 일치하는 경우 결과 출력 비동등 조인(non equi join): 조인 조건이 정확히 일치하지 않는 경우 결과 출력 외부 조인(outer join): 조인 조건이 정확히 일치하지 않아도 모든 결과를 출력 자체 조인(self join): 자체 테이블에서 조인하고자 할 때 사용 조인 규칙 SELECT 절에는 출력할 열 이름을 기술 FROM 절에는 접근하려는 테이블 이름을 기술 WHERE 절에는 조인 조건을 기술 FROM 절 외의 절에는 조회의 명확성을 위해 열 앞에 테이블 이름을 붙임 이름이 긴 테이블에 별칭..
[모두의 SQL] 5장. ERD: 데이터베이스 개체 설계도 테이블 데이터를 저장 저장/관리를 위한 일련의 규칙인 키(key)와 제약조건(constraint)를 가짐 기본 키(primary key) 데이터를 식별하는 식별자 역할 null 값을 가질 수 없음 변경될 수 없음 고유 키(unique key) 행에서 유일한 값을 갖는 데이터 값으로 구성 중복 값이 없는 유일한 값을 갖지만, 기본 키가 아닌 데이터 값이 존재 외래 키(foreign key) 참조 테이블의 기본 키, 고유 키를 참조 테이블의 구성 열이자, 다른 테이블과 연결을 위한 열 제약 조건 데이터 무결성(data integrity)을 준수하기 위한 방법으로 활용됨 데이터 무결성: 데이터를 인가되지 않은 방법으로 변경할 수 없도록 보호 종류 기본 키: UNIQUE + NOT NULL을 만족해 테이블을 대..
[모두의 SQL] 4장. 함수: 함수로 데이터 가공 함수: 사용자가 입력값 X 삽입 시 정해놓은 출력값 Y 출력 오라클 데이터베이스 시스템의 함수 문자/숫자/날짜 값 조작 가능 각 데이터 타입끼리 변환 가능 (단일 행 함수 기능) 복수의 행을 조합해 그룹당 하나의 결과로도 출력 가능 (그룹 함수 기능) 함수 사용 목적 데이터 값 계산, 조작 (단일 행 함수) 행의 그룹에 대해 계산, 요약 (그룹 함수) 열의 데이터 타입 변환, 데이터 타입 상호 변환 단일 행 함수: 한번에 하나의 데이터를 처리하는 함수 그룹 함수 여러 건의 데이터를 동시에 처리해 해당 그룹에 해당하는 결과를 반환 GROUP BY 절과 함께 쓰이며, 요약된 정보를 출력해야할 때 유용 데이터 타입 문자 CHAR(n) n 크기만큼 고정 길이의 문자 타입 저장 최대 2000바이트까지 저장 가능 ..
[모두의 SQL] 3장. SELECT: 데이터 조회의 기본 **SELECT** [DISTINCT] **열 이름** [or 별칭(alias)] **FROM 테이블이름** [WHERE 조건식] [ORDER BY 열이름[ASC or DESC]]; 예약어 시스템이 미리 정해놓은 것이므로, 테이블을 만들때도 이름으로 사용할 수 없다 SELECT: 예약어이면서, 열을 선택하기 위한 명령어 SQL문 작성 규칙 대소문자 구별X 가독성과 편집의 용이성을 위해 내용이 달라지면 줄을 나눔 명령어는 여러 줄로 나눌 수 없음 코드 수준에 따른 들여쓰기는 SQL 문장을 좀 더 읽기 쉽게 함 명령어를 대문자로 작성, 나머지를 소문자로 작성 → 가독성이 높아짐 SELECT 명령어 데이터를 ‘선택(조회)한다’는 의미 단순히 선택된 데이터를 화면에 출력 실제 데이터의 값이 데이터베이스에 반영(..
[모두의 SQL] 1장. 관계형 데이터베이스와 SQL 전처리(Pre-processing): 데이터를 분석하기 위해 데이터를 수집하여 가공하고 처리하는 과정 정형데이터(Structured Data) 틀이 잡혀있는 데이터, 체계화된 데이터 높은 안정성, 유연하지 못한 구조 금융, 제조 등 대부분 기업의 업무용 데이터베이스 비정형 데이터(Unstructured Data) 틀이 잡혀있지 않고, 사전 정의가 없는 데이터 다양하고 방대한 양의 데이터, 별도의 분석처리 기술이 필요 텍스트, 이미지, 음원 데이터, 빅데이터 관계형 데이터베이스 열과 행을 갖는 2차원 테이블을 중심으로 설계된 데이터베이스 데이터를 ‘키(key)’와 ‘관계’라는 연결고리로 연결하여 원하는 데이터를 조회하고 가공하는 방식의 데이터베이스 계층형 데이터베이스 가장 오래된 형태의 데이터베이스 개인 ..