'SQL 기본' 태그의 글 목록
728x90

SQL 기본 9

2-1장 SQL 기본 - 9절 조인(JOIN)

1. JOIN의 개요 JOIN 이란? 여러 테이블을 연결 또는 결합하여 데이터를 출력하는 것 JOIN조건은 WHERE절에 기술함 PK와 FK의 연관에 의해 JOIN 성립됨. 하지만 PK, FK 없어도 논리적인 값들의 연관만으로 JOIN 성립 가능 주의할 점: FROM 절에 여러 테이블이 나열되더라도 SQL 에서 데이터를 처리할 때는 단 두 개의 집합 간에만 조인이 일어난다는 것이다. (A,B, C JOIN할 때 A,B JOIN한 결과에 C를 JOIN 함) JOIN 이 필요한 이유 JOIN이 필요한 기본적인 이유는 과목1에서 배운 정규화에서부터 출발한다. 정규화란 불필요한 데이터의 정합성을 확보하고 이상현상(Anomaly) 발생을 피하기 위해, 테이블을 분할하여 생성하는 것이다. 사실 데이터웨어하우스 모델..

Study/SQLD 2022.06.28

2-1장 SQL 기본 - 8절 ORDER BY 절

1. ORDER BY 정렬 개념 SQL 문장으로 조회된 데이터들을 다양한 목적에 맞게 특정 칼럼을 기준으로 정렬하여 출력하는데 사용 칼럼명, 앨리어스, 칼럼의 Select 절 순으로 칼럼 지정가능 특징 기본적으로 정렬순서는 오름차순 숫자형/날짜형을 오름차순으로 정렬했을 경우, 가장 작은 값/ 가장 빠른 값 먼저 출력 NULL 값 오름 차순 정렬 시 Oracle은 가장 마지막에 위치(NULL은 가장 큰 값으로 간주)하지만, SQL에서는 가장 먼저 위치(NULL은 가장 작은 값으로 간주) 종류 ASC(Ascending): 조회한 데이터 오름차순 DESC(Descending): 조회한 데이터 내림차순 2. SELECT 문장 실행 순서 SELECT 문 설명 테이블에서 출력 대상이 아닌 것은 제거하고 그룹핑해서 ..

Study/SQLD 2022.06.27

2-1장 SQL 기본 - 7절 GROUP BY, HAVING 절

1. 집계함수 개념 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수 GROUP BY 절은 행 들을 소그룹화 한다. SELECT 절, HAVING 절, ORDER BY 절에 사용할 수 있다 WHERE절에 사용 불가, 공집합에서도 연산 수행 종류 ALL, DISTINCT : 전체 출력, 중복 제외 출력 SUM, AVG, MAX, MIN, VARIAN, STDDEV : NULL 제외하고 연산 (↔ 숫자 연산은 NULL 출력) COUNT : 행 수 출력 / COUNT(*) : NULL 포함 / COUNT(표현식) : NULL 제외 2. GROUP BY 절 개념 2차 가공정보가 필요할 때 사용. QL 문에서 FROM 절과 WHERE 절 뒤에 오며, 데이터들을 작은 그룹으로 분류하여 소그룹에 대한..

Study/SQLD 2022.06.26

2-1장 SQL 기본 - 6절 함수(Function)

1. 내장함수 개념 설명 SQL을 강력하게 해주고, 데이터 값을 간편하게 조작 단일행 값이 입력되어 있는 단일행 함수와 여러 행의 값이 입력되는 다중행 함수로 나뉨 다중행 함수는 다시 집계 함수, 그룹 함 수, 윈도우 함수로 나뉜다. 2. 단일행 함수 개념 SELECT절 / WHERE절 / ORDER BY절에 사용 가능, 각 행에 개별적으로 작용. 여러 인자를 입력해도 단 하나의 결과만 출력 함수의 인자로 상수, 변수, 표현식이 사용 가능. 하나의 인수를 가지는 경우도 있지만 여러 개의 인수를 가질 수도 있다. 함수의 인자로 함수를 사용하는 함수의 중첩이 가능하다 데이터의 형식에 따라서 문자형, 숫자형, 날짜형, 변환형, NULL 관련 함수로 나눌 수 있다. 종류 3. 문자형 함수 문자를 입력하면, 문자..

Study/SQLD 2022.06.25

2-1장 SQL 기본 - 5절 WHERE절

1. WHERE 조건절 개요 개념 설명 원하는 자료만 검색하기 위해 WHERE절을 이용하여 자료에 대한 제한을 둠 명령어: SELECT 칼럼명 FROM 테이블명 WHERE 조건절; WHERE 조건절 미사용시 문제점 많은 사용자들, 프로그램들이 동시에 접속하여 다량의 트랜잭션을 발생 필요 없는 많은 자료들을 요청하는 것은, 데이터베이스가 설치되어 있는 서버의 CPU 나 메모리와 같은 시스템 자원 (Resources) 들을 과다하게 사용하게 됨 많은 Query 에 대해 바로 처리를 못하고, 검색된 많은 자료들이 네트워크를 통해 전달됨으로써 문제점이 발생 따라서 WHERE 절에 조건이 없는 FTS ( Full Table Scan ) 문장은 SQL 튜닝의 1차적인 검토 대상 2. 연산자의 종류 연산자의 종류 비..

Study/SQLD 2022.06.24

2-1장 SQL 기본 - 4절 TCL(Transaction Control Language)

1. 트랜잭션 개요 트랜잭션이란? 데이터 논리적 연산 단위. 하나 이상의 SQL 문장 포함 트랜잭션은 분할할 수 없는 최소의 단위임. 그렇기 때문에 전부 적용하거나 전부 취소함 트랜잭션의 특성(AICD) 특성 설명 원자성(Atomicity) 전부 실행되거나 전혀 실행되지 않음 (All or Nothing) 일관성(Consistency) 트랜잭션으로 인한 DB 상태의 모순이 없음 고립성(Isolation) 부분적인 실행 결과에 다른 트랜잭션이 접근할 수 없음, LOCKING으로 고립성 보장 영속성(Durability) 트랜잭션의 결과는 영구적으로 저장됨 잠금(LOCKING) 잠금은 기본적으로 트랜잭션이 수행하는 동안 특정 데이터에 대해서 다른 트랜잭션이 동시에 접근하지 못하도록 제한하는 기법 잠금이 걸린 ..

Study/SQLD 2022.06.23

2-1장 SQL 기본 - 3절 DML(Data Manipulation Language)

1. INSERT 데이터를 입력하는 명령어 유형 1) INSERT INTO 테이블명 (칼럼명, …) VALUES (필드값, …); 유형 2) INSERT INTO 테이블명 VALUES (필드값, …); 2. UPDATE 데이터 수정하는 명령어 명령어: UPDATE 테이블명 SET 칼럼명=필드값; 3. DELETE 데이터를 삭제하는 명령어. WHERE 절을 사용하여 특정 조건의 내용 삭제 DELETE로 데이터를 삭제해도 테이블 용량은 초기화되지 않음 (↔ TRUNCATE로 삭제하면 초기화됨) 명령어: DELETE FROM 테이블명 WHERE 조건절; / DELETE FROM 테이블명; 4. SELECT 명령어 설명 입력한 데이터를 조회하는 명령어 유형 1) SELECT 칼럼명 FROM 테이블명; (칼럼 별..

Study/SQLD 2022.06.22

2-1장 SQL 기본 - 2절 DDL(Data Definition Language)

1. 데이터 유형 CHARACTERS 고정길이 문자열 정보. CHAR로 표현 기본 길이 1바이트, 최대 길이 Oracle 2000 바이트, SQL는 8000 바이트 고정길이를 가지고 있으므로 할당된 변수 값의 길이가 s보다 작을 경우 그 차이 길이만큼 공간으로 채워진다. VARCHAR 가변길이 문자열 정보 Oracle은 VARCHAR2로, SQL은 VARCHAR로 표현 최소 길이 1바이트, 최대 길이 Oracle 4000 바이트, SQL는 8000 바이트 가변 길이로 조정이 되기 때문에 할당된 변수의 바이트만 적용됨(Limit 있음) NUMERIC 정수, 실수 등 숫자정보 Oracle은 Number로, SQL은 10가지 숫자 타입을 가지고 있음 Oracle은 처음에 전체 자리 수를 지정, 그 다음 소수 ..

Study/SQLD 2022.06.21

2-1장 SQL 기본 - 1절 관계형 데이터베이스 개요

1. 데이터베이스 데이터베이스 개념 데이터(일상적인 정보)를 일정한 형태로 저장해 놓은 것. 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것 DBMS를 통해 효율적인 관리와 데이터베이스 관리 및 손상 복구가 가능 데이터베이스의 발전 1960년대: 플로우차트 중심의 개발 방법 사용, 파일구조를 통해 데이터를 저장, 관리 1970년대: 데이터베이스 관리 기법이 처음 태동, 계층형 데이터베이스, 망형 데이터베이스 상용화 1980년대: 관계형 데이터베이스 상용화, Oracle, Sybase, DB2 제품 사용 1990년대: Oracle, Sybase, Informix, DB2, Teradata, SQL Server 등 핵심 솔루션이 됨, 객체 관계형 데이터베이스로 발전 데이터..

Study/SQLD 2022.06.20
728x90