# SQL 문장들의 종류 DML(Manipulation) - SELECT, INSERT, UPDATE, DELETE DDL(Definition) - CREATE, ALTER, DROP, RENAME DCL(Control) - GRANT, REVOKE TCL(Transaction) - COMMIT, ROLLBACK # NULL이란? 모르는 값 값의 부재 NULL과의 비교는 알 수 없음(Unknown)을 반환한다 (IS NULL제외) # PK = UNIQUE + NOT NULL 그럼 UNIQUE 속성은 NULL 입력이 가능할까? ⭕️ → 중복은 안되지만 NULL은 가능 # 물리적 테이블 (= 테이블 명, 칼럼 명) A-Z, a-z, 0-9, _, $, # 만이 허용됨 반드시 문자로 시작해야 함 # 이런 코드..
# 조인이란? 여러 테이블을 연결 또는 결합하여 데이터를 출력하는 것 일반적으로 PK나 FK 값을 기반으로 한다. 1. 내부 조인(INNER JOIN) 보통 그냥 조인이라고하면 내부 조인 SELECT 열목록 FROM 첫번째테이블 INNER JOIN 두번째테이블 ON 조인조건 2. 외부 조인(OUTER JOIN) 한쪽에만 데이터가 있어도 결과가 나온다. 집합이라고 생각하면 편하다,... 색칠한 부분에 해당되는 데이터가 반환됨 #3.상호 조인(CROSS JOIN) 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시킴 결과의 행 개수는 각 테이블의 행 개수를 곱한 수만큼이 된다. == CARTESIAN PRODUCT
# ORDER BY⭐ = 정렬 (기본: 오름차순) SQL 문장으로 조회된 데이터들을 다양한 목적에 맞게 특정한 칼럼을 기준으로 정렬하는데 사용 ORDER BY절에 칼럼명 대신 ALIAS(별칭)이나 칼럼 순서를 나타내는 정수도 사용 가능 DEFAULT는 오름차순(ASC), 내림차순은 DESC 옵션으로 가능 SQL 문장의 제일 마지막에 위치 SELECT 절에서 정의하지 않은 칼럼 사용 가능 NULL: Oracle에서는 제일 큰 값, SQL 서버에서는 가장 작은 값 SELECT * FROM 테이블명 ORDER BY 칼럼명; SELECT * FROM 테이블명 ORDER BY 칼럼명 DESC; // 내림차순 만약 정렬을 두번하고 싶다면? SELECT * FROM 테이블명 ORDER BY 컬럼1 ASC 컬럼2 DE..
# 다중행 집계 함수 여러 행들의 그룹이 모여서 그룹당 하나의 결과를 돌려주는 함수 GROUP BY 절이 없으면 그룹할 대상이 없어서 에러 발생 SELECT, HAVING, ORDER BY에 사용 가능 / WHERE에서는 불가능 공집합에서도 연산 가능 ALL: 기본 옵션, 생략 가능 / DISTINCT: 중복 제거 # 집계함수 종류 🔹 COUNT 특정 열(column)의 행의 개수를 세는 함수 COUNT(*): NULL을 포함한 테이블에 존재하는 행의 갯수가 반환 COUNT(특정 열): NULL을 제외한 해당 열의 행의 갯수 반환 AS로 결과로 나온 열의 별칭 지정가능 DISTINT로 중복 제거 가능 SELECT COUNT(*) FROM tb; SELECT COUNT(Name) FROM tb; SELEC..
WHERE절의 기본 형태 SELECT 칼럼명 FROM 테이블명 WHERE 조건절; # 연산자들 🔶 비교 연산자: =, >, >=, 논리 연산자 1) 괄호 2) NOT 3) 비교 연산자 or SQL 연산자 4) AND 5) OR 문자열끼리는 어떻게 비교하나요? CHAR vs CHAR: 처음으론 나오는 서로 다른 문자열 값으로 비교, 길이가 다르면 공백을 추가해서 길이 맞춰서 비교 CHAR vs VARCHAR: 처음으론 나오는 서로 다른 문자열 값으로 비교, 길이가 다르면 긴 녀석이 더 큼(VARCHAR의 공백 = 문자로 침) CHAR vs 상수: 상수를 변수 타입으로 바꿔서 비교 # 부분 범위 처리 ROWNUM(Oracle): SQL 처리 결과 집합의 각 행에 임시로 부여되는 번호, 조건절 내에서 행의 개..
들어가기전에,,, # 트랜잭션 이란? DB의 논리적 연산 단위, 하나 이상의 SQL문을 포함 원자성(Atomicity): 전부 실행되거나 전혀 실행되지 않음(All or Nothing) 일관성(Consistency): 트랜잭션으로 인한 DB 상태의 모순이 없음 고립성(Isolation): 부분적인 실행 결과에 다른 트랜잭션이 접근할 수 없음, LOCKING으로 고립성 보장 영속성(Durability): 트랜잭션의 결과는 영구적으로 저장됨 # TCL 데이터 무결성 보장이 목적임 1) 영구 변경 전 확인 2) 연관 작업 동시 처리 가능 Oracle에서는 1) SQL 문을 실행하면 트랜잭션이 시작되고 2) TCL을 실행하면 트랜잭션이 종료됨 DDL를 실행하면 자동으로 커밋 (DML 이후 커밋 없이 DDL을 실..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.