no image
[SQLD] 3-9. SQL 기본 - 조인(JOIN), EQUI JOIN, JOIN 구문 주의 사항
A. 조인(JOIN)이란? 1. 두 개 이상의 테이블 들을 연결 또는 결합하여 데이터를 출력하는 것2. 관계형 데이터 베이스의 가장 큰 장점이며 대표적인 핵심 기능3. 일반적인 경우 행들은 PK나 FK 값의 연관에 의해 조인이 성립4. 쿼리 성능에 지대한 영향을 미치므로 튜닝 포인트가 될 수 있음5. 조인에는 EQUI JOIN(등가 조인), NON EQUI JOIN(비 등가 조인) 존재    B. EQUI JOIN 1. 두 개의 테이블 간에 컬럼 값들이 서로 정확하게 일치하는 경우에 사용되는 방법2. 일반적으로 PK와 FK의 관계를 기반3. 일부 EQUI JOIN은 PK와 FK의 관계가 성립되지 않을 수 도 있음4. JOIN의 조건은 WHERE 절에 기술하여 “=” 연산자를 사용   C. EQUI JOI..
2024.10.21
no image
[SQLD] 3-8. SQL 기본 - OrderBy정렬, SELECT 문장, ROWNUM, Top N 쿼리
A. ORDER BY 정렬 1. SQL 문장으로 조회된 데이터들을 특정 컬럼을 기준으로 정렬하여 출력2. 정렬 방식을 지정하지 않으면 오름차순이 적용3. 정렬 방식은 오름차순(ASC), 내림차순(DESC) 두 가지가 있음4. SQL 문장의 제일 마지막에 ORDER BY 절이 위치5. 숫자형 데이터 타입은 오름차순으로 정렬했을 경우에 가장 작은 값부터 출력6. 날짜형 데이터 타입은 오름차순으로 정렬했을 경우 날짜 값이 가장 빠른 값이 먼저 출력7. Oracle 에서 NULL값은 가장 큰 값8. SQL Server 에서는 NULL 값은 가장 작은 값9. ORDER BY 에 칼럼 대신 SELECT에서 사용한 ALIAS 명이나 칼럼 순서를 나타내는 정수도 사용 가능   B. SELECT 문장 실행 순서   C...
2024.10.21
no image
[SQLD] 3-7. SQL 기본 - GroupBy절, 집계 함수, HAVING절, NULL처리
A. 집계 함수(Aggregate Function)1. 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수2. GROUP BY 절은 행들을 소그룹화3. SELECT 절, HAVING 절, ORDER BY 절에 사용할 수 있음4. 그룹에 대한 정보를 제공하므로 주로 숫자 유형에 사용5. MAX, MIN, COUNT 함수는 문자, 날짜 유형에도 적용이 가능6. 집계 함수는 GROUP BY 절과 같이 사용7. 테이블 전체가 하나의 그룹이 되는 경우에는 GROUP BY 절 없이 단독으로도 사용 가능8. SELECT절, HAVING, ORDER BY 절에 사용할 수 있음   B. 집계 함수(Aggregate Function) 종류집계 함수사용 목적COUNT(*)NULL 값을 포함한 행의 수를 출력한..
2024.10.21
no image
[SQLD] 3-6. SQL 기본 - SQL함수, 단일행함수, 문자형함수, 숫자형함수, 날짜형함수, 데이터유형변환, CASE표현, NULL 특성 및 연산, NULL 함수
A. SQL 함수 개요 1. 벤더에서 제공하는 함수인 내장 함수(Built-in Function)와 사용자가 정의할 수 있는 함수(User Defined Function)로 분류2. 내장 함수는 SQL을 더욱 강력하게 해주고 데이터 값을 간편하게 조작하는 데 사용3. 함수는 입력되는 값이 많아도 출력은 하나만 리턴   B. 단일행 함수 개요1. 처리하는 데이터의 형식에 따라서 문자형, 숫자형,날짜형, 변환형,NULL 관련 함수로 나눌 수 있음2. SELECT, WHERE, ORDER BY 절에 사용 가능3. 각 행(Row)들에 대해 적용되어 데이터 값을 조작하고, 각각의 행에 대한 결과값을 리턴4. 여러 인자(Argument)를 입력해도 단 하나의 결과만 리턴5. 함수의 인자(Arguments)로 상수/..
2024.10.21
no image
[SQLD] 3-5. SQL 기본 - WHERE조건절, 연산자 종류, 비교연산자, LIKE연산자, NULL연산자, 논리연산자, 연산자 우선순위
A. WHERE 조건절 개요 1. DML을 이용하여 자료를 검색, 수정, 삭제할 때 구체적인 조건을 기술함으로써 작업 범위를 정의  B. 연산자 종류1. 요구 조건을 효율적으로 만족하는 쿼리문을 구성하기 위해서 연산자들을 사용2. 비교연산자, SQL연산자, 논리연산자, 부정비교연산자, 부정 SQL연산자로 분류   C. 비교 연산자1. = : 좌측, 우측 값이 동일 할 경우 참2. > : 죄측 값이 우측 값보다 큰 경우 참3. >= : 죄측 값이 우측 값보다 크거나 동일할 경우 참4. 5.    D. SQL 연산자1. BETWEEN A AND B : 좌측 값이 A 값과 B 값 사이에 있으면 참2. IN (값1, 값 2 …) : 좌측 값이 IN () 안에 기술된 값이 하나라도 일치하면 참3. LIKE 비교문..
2024.10.21
no image
[SQLD] 3-4. SQL 기본 - TCL 개념, 트랜잭션, COMMIT, ROLLBACK, SAVEPOINT
TCL(Transaction Control Language) 1) 개념논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어 2) 종류COMMIT, ROLLBACK, SAVEPOINT    A. 트랜잭션 개요1. 트랜잭션이란 데이터베이스의 논리적 연산 단위이며 분리될 수 없는 한 개 이상의 데이터베이스 조작 단위2. 하나의 트랜잭션에는 하나 이상의 SQL 문장이 포함3. 트랜잭션은 분할할 수 없는 최소의 단위4. 전부 작용하거나 전부 취소 (All OR Nothing)  B. 트랜잭션 특징원자성(Atomicity) - 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되던지 아니면전혀 실행되지 않은 상태로 남아 있어야 함 (All or Nothing)일관성(Co..
2024.10.21
no image
[SQLD] 3-3. SQL 기본 - DML 개념, 종류, 구문
DML(Data Manipulation Language)1) 개념- 만들어진 테이블에 관리하기를 원하는 자료들을 입력, 수정, 삭제, 조회하는 조작 관련 명령어2) 종류- INSERT, UPDATE, DELETE, SELECT   A. DML : INSERT1. 테이블에 데이터를 입력하는 명령어2. INSERT문의 구문형식은 COLUMN LIST를 작성 여부에 따라 두 가지 구문이 존재 【1번째 구문 형식 : 컬럼 목록 작성】1. INSERT INTO “테이블명” (COLUMN1, COLUMN2 … ) VALUES (VALUE1, VALUE2, …);2. INSERT INTO PLAYER (PLAYER_ID, PLAYER_NAME, PLAYER_NO) VALUES (‘ABC123’, ’박지성’, 7)  ..
2024.10.21
no image
[SQLD] 3-2. SQL 기본 - DDL 개념, 종류, 테이블 생성 규칙, 제약 조건
A. DDL(Data Definition Language) 1) 개 념테이블과 같은 데이터 구조를 정의하는 데 사용되는 명령어들로 그러한 구조를 생성/변경/삭제하거나 이름을 바꾸는 데이터 구조와 관련된 명령2) 종 류CREATE, ALTER, DROP, RENAME, TRUNCATEA. DDL(Data Definition Language)자주 사용되는 데이터 유형데이터 유형설 명CHARACTER(s)고정 길이 문자열 정보 (Oracle, SQL Server 모두 CHAR로 표현)s는 기본 길이 1바이트, 최대 길이 Oracle 2,000바이트, SQL Server 8,000바이트입력 값의 길이가 s보다 작을 경우 그 차이 만큼 공백문자로 입력됨VARCHAR(s)가변 길이 문자열 정보 (Oracle은 VA..
2024.10.21
no image
[SQLD] 3-1. SQL 기본 - 관계형 데이터베이스 개요
A. 데이터 베이스란?1 넓은 의미에서의 데이터베이스: 일상적인 정보들을 모아 놓은 것 자체2 일반적인 의미에서의 데이터베이스: 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것을 의미   B. 데이터 베이스의 발전1960 년대 - 플로우차트 중심의 개발 방법을 사용하였으며 파일 구조를 통해 데이터를 저장하고 관리1970 년대 - 데이터베이스 관리 기법이 처음 태동되던 시기였으며 계층형(Hierarchical) 데이터 베이스, 망형(Network) 데이터베이스 같은 제품들이 사용화1980 년대 - 현재 대부분의 기업에서 사용되고 있는 관계형 데이터베이스가 상용화되었으며 Oracle, Sybase,DB2와 같은 제품이 사용1990 년대 - Oracle, Sybase, In..
2024.10.21