본문 바로가기

전체 글122

SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제1장 SQL 기본 / 제9절 조인(JOIN) 제9절 조인(JOIN) 1. JOIN 개요 : 두개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것, DBMS의 핵심적인 기능 2. EQUI JOIN (등가 조인) 두 개의 테이블 간에 칼럼 값들이 서로 정확하게 일치하는 경우 사용 일반적으로 PK -> FK 기반, 그러나 반드시 PK -> FK 관계로만 성립하는 것은 아니다. SELECT 테이블1.칼럼명, 테이블2. 칼럼명... FROM 테이블1, 테이블2 WHERE 테이블1.칼럼명1 = 테이블2.칼럼명2;​ [ANSI/ISO 표준] SELECT 테이블1.칼럼명, 테이블2.칼럼명... FROM 테이블1 INNER JOIN 테이블2 ON 테이블1.칼럼명1 = 테이블2.칼럼명2;​ 3. NON EQUI JOIN (비등가 조인) 두개 테이블 간에 .. 2021. 5. 26.
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제1장 SQL 기본 / 제8절 Order By 절 제8절 Order By 절 1. ORDER BY 정렬 특정 칼럼을 기준으로 정렬하여 출력하는데 사용 별도로 정렬 방식을 지정하지 않으면 오름차순이 기본 ALIAS명이나 정수도 컬럼명 대신 사용 가능 SELECT 컬럼명 FROM 테이블명 ORDER BY 컬럼명 ASC/DESC;​ NULL은 Oracle에서 가장 큰 값으로 취급, SQL Server 그 반대 2. SELECT 문장 실행 순서 (1) FROM (2) WHERE (3) GROUP BY (4) HAVING (5) SELECT (6) ORDER BY - 해당 순서는 옵티마이저가 에러를 점검하는 순서 3. Top N 쿼리 ROWNUM SELECT 컬럼명 FROM (인라인뷰) WHERE ROWNUM 조건;​ TOP( ) SELECT TOP(값) 컬럼명.. 2021. 5. 26.
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제1장 SQL 기본 / 제7절 Group By, Having 절 제7절 Group By, Having 절 1. 집계 함수 여러 행의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 다중행 함수 GROUP BY 절은 행들을 소 그룹화 한다. SELECT, HAVING, ORDER BY 절에 사용할 수 있다. 2. GROUP BY / HAVING SELECT 칼럼명 FROM 테이블명 WHERE 조건식 GROUP BY 칼럼 or 표현식 HAVING 그룹조건식 GROUP BY 절을 통해 소그룹별로 기준을 정한 후, SELECT 절에 집계 함수를 사용 집계 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행한다. GROUP BY 절에서는 ALIAS 명을 사용할 수 없다. 집계 함수는 WHERE 절에는 올 수 없다. WHERE는 GROUP BY로 나누기 전에 먼저 실행된.. 2021. 5. 26.
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제1장 SQL 기본 / 제6절 함수 제6절 함수 1. 내장 함수(BUILT-IN FUNCTION) 개요 단일행 함수, 다중행 함수(집계함수, 그룹함수, 윈도우함수) 함수는 입력되는 값이 아무리 많아도 출력은 하나만 된다 M:1 관계 [단일행 함수 특징] SELECT, WHERE, ORDER BY 절에 사용 각 행 들에 대해 개별적으로 작용, 각각의 행에 대한 조작 결과 리턴 여러 인자를 입력해서 단 하나의 결과만 리턴 함수의 인자로 함수 중첩 가능 함수의 인자로 상수, 변수, 표현식 가능 / 여러개의 인수도 가질 수 있음 2. 문자형 함수 SELECT 함수 FROM DUAL; DUAL은 사용자 SYS가 소유, 모든 사용자가 엑세스 가능한 테이블 SELECT ~ FROM 형식을 갖추기 위한 더미테이블 이다. Oracle만 해당 3. 숫자형 .. 2021. 5. 26.
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제1장 SQL 기본 / 제5절 WHERE절 제5절 WHERE절 1. WHERE 조건절 개요 2. 연산자의 종류 3. 비교 연산자 4. SQL 연산자 IN SELECT 컬럼 FROM 테이블 WHERE (컬럼) IN (값);​ LIKE는 %를 사용하여 원하는 값의 범위를 정할 수 있다. (ex. %동건, 장동%) SELECT 컬럼 FROM 테이블 WHERE 컬럼명 LIKE '%값' or '값%' or '값'​ BETWEEN a AND b : a와 b를 포함한 사이의 값이 조건 SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 BEETWEEN 값 AND 값;​ IS NULL : 해당 컬럼이 NULL인 값 찾음 SELECT 컬럼명 FROM 테이블 WHERE 컬럼명 IS NULL;​ 5. 논리 연산자 AND : 양쪽 조건이 모두 참이면 참, 동시만족.. 2021. 5. 26.
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제1장 SQL 기본 / 제4절 TCL 제4절 TCL 1. 트랙잭션 개요 데이터베이스의 논리적 연산단위 분할할 수 없는 최소의 단위 ALL OR NOTHING 전부 적용하거나 전부 취소한다. COMMIT 커밋 : 올바르게 반영된 데이터를 DB에 반영 ROLLBACK 롤백 : 트랜잭션 시작 이전의 상태로 되돌리는 것 SAVEPOINT : 저장점 2. COMMIT : 입력, 수정, 삭제에 대해서 문제가 없다고 판단되면 COMMIT 명령어를 통해 트랜잭션을 완료 [COMMIT or ROLLBACK 이전 상태] 메모리 BUFFER에만 영향을 받았기 때문에 변경 이전 상태로 복구 가능 사용자는 SELECT 를 통해 결과 확인 가능 다른 사용자는 결과 확인 불가 변경된 행은 LOCKING 되어서 다른 사용자가 변경 불가 [COMMIT 이후 상태] DB에.. 2021. 5. 26.
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제1장 SQL 기본 / 제3절 DML 제3절 DML 1. INSERT INSERT INTO 테이블명 (컬럼) VALUES (컬럼에 넣을 값); INSERT INTO 테이블명 VALUES (전체 컬럼에 넣을 값); 한 번에 한 건만 입력된다. 문자 유형일 경우 SINGLE QUOTATION으로 값을 입력한다. 2. UPDATE UPDATE 테이블명 SET 수정할 칼럼명 = 수정할 값; 3. DELETE DELETE [FROM] 테이블명 (WHERE 조건) FROM은 생략 가능하면 WHERE조건이 없으면 테이블 전체 데이터가 삭제된다. 4. SELECT SELECT [ALL/DISTINCT] 칼럼명, 칼럼명 FROM 테이블명; ALL : 생략가능 모두 출력한다. DISTINCT : 중복된 데이터의 경우 1건으로 출력한다. WILDCARD : 애.. 2021. 5. 26.
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제1장 SQL 기본 / 제2절 DDL 제2절 DDL 1. 데이터 유형 2. CREATE TABLE (1) 테이블과 칼럼 정의 테이블에 존재하는 모든 데이터를 고유하게 식별가능한 칼럼이나 칼럼 조합 들 중 하나를 선정하여 기본키 칼럼으로 지정한다. 기본키는 단일 칼럼이 아닌 여러 개의 칼럼으로도 만들어질 수 있다. (2) 테이블 생성 [테이블 생성시 주의해야할 규칙] 객체를 의미할 수 있는 적절한 이름 사용. 가능한 단수형. 테이블명 중복 X 한 테이블 내에서 칼렴명 중복 X 테이블 이름을 지정하고 각 칼럼들을 괄호 () 로 묶어 지정 각 칼럼은 콤마 , 로 구분, 테이블 생성문의 끝은 항상 세미콜론 ; 으로 종료 칼럼은 다른 테이블까지 고려하여 DB자체에서 일관성 있게 사용하는 것이 좋다. 칼럼 뒤에 데이터 유형은 필수다. 테이블명, 칼럼명.. 2021. 5. 26.
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제1장 SQL 기본 / 제1절 관계형 데이터베이스 개요 제1절 관계형 데이터베이스 개요 1. 데이터베이스 : 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것. 데이터 베이스의 발전 1960 : 파일구조 (플로우차트) 1970 : 계층형, 망형 DB 1980 : 관계형 데이터베이스 상용화 (Oracle, Sybase, DB2) 1990 : Oracle, SQL Server, TeraDate 등 DBMS가 핵심 솔루션으로 자리 잡음 관계형 데이터베이스 (Relational Database) - SQL 문장에 의해 관리 - 정규화를 통해 이상현상 제거, 데이터 중복 회피, 동시성 관리, 병행 제어 등 - 데이터 성격, 속성 체계화 가능, 데이터품질 확보 가능 - 보안기능 제공, 데이터 무결성 보장 2. SQL (Structure.. 2021. 5. 26.