Backend/SQL 5

SQL - GROUP BY, HAVING 절

집계 함수란(Aggregate Function)? : 여러 행들의 그룹이 모여서 그룹당 하나의 결과를 반환하는 다중행 함수 [특징] - GROUP BY절 : 행들을 소그룹화 한다. - SELECT 절, HAVING 절, ORDER BY 절에서 사용할 수 있다. [종류] 집계 함수 사용목적 COUNT(*) NULL 값 포함, 행의 수 계산 COUNT(표현식) 표현식이 참인 행의 수 계산 (NULL값 제외) SUM([DISTINCT | ALL] 표현식) 표현식의 NULL값을 제외한 합계 AVG([DISTINCT | ALL] 표현식) 표현식의 NULL값을 제외한 평균 MAX([DISTINCT | ALL] 표현식) 표현식의 최대값 MIN([DISTINCT | ALL] 표현식) 표현식의 최소값 STDDEV([DI..

Backend/SQL 2022.11.05

SQL 기본 및 활용 (3) - 트랜잭션

Transaction(트랜잭션) : 데이터베이스의 논리적 연산단위. 분리될 수 없는 한 개 이상의 데이터베이스 ALL | Nothing 의 개념 하나 이상의 SQL문이 포함된다. [개요] - 트랜잭션 : 세부적인 연산들의 집합 -> 대상 DML (UPDATE, INSERT, DELETE) - 커밋 : 반영된 데이터를 데이터베이스에 반영시킴 - 롤백 : 트랜잭션 시작 이전의 상태로 되돌리기 특성 설명 원자성 트랜잭션에서 정의된 연산들은 모두 실행되거나 실행되지 않아야 한다. (All or Nothing) 일관성 트랜잭션 실행 이전에 무언가 잘못되어 있지 않았었다면, 실행 후에도 잘못되어 있지 않아야 한다. 고립성 트랜잭션 실행 도중 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들면 안된다. 지속성 트랜잭션..

Backend/SQL 2022.11.05

SQL 기본 및 활용 (2) - DML

DML : Data Manipulation Language (데이터 조작어) -> 만들어진 테이블의 데이터를 입력, 수정, 삭제, 조회하는 언어 1. INSERT INSERT INTO [테이블명] (칼럼1, 칼럼2, ..) VALUES (값1, 값2, ..); OR INSERT INTO [테이블명] VALUES (전체 컬럼에 넣을 value 리스트); ex) INSERT INTO PLAYER (PLAYER_ID, PLAYER_NAME, TEAM_ID) VALUES ('2002007', '박지성', 'k07'); 2. UPDATE UPDATE 테이블명 SET (수정되어야 할 칼럼명) = (수정되기를 원하는 값); ex) 일괄적으로 수정 UPDATE PLAYER SET BACK_NO = 99; 3. DELE..

Backend/SQL 2022.11.04

SQL 기본 및 활용 (1) - DDL

DB 설치 없이 SQL 실습을 위해 오라클의 Live SQL을 사용하였다. 1. 테이블 생성 CREATE TABLE TEAM ( TEAM_ID char(3), REGION_NAME varchar(8), TEAM_NAME char(40), E_TEAM_NAME varchar2(50), ORIGIN_YYYY char(4), STADIUM_ID char(3), ZIP_CODE1 char(3), ZIP_CODE2 char(3), ADDRESS varchar2(80), DDD varchar(3), TEL varchar(10), FAX varchar(10), HOMEPAGE varchar2(50), OWNER varchar(10)); 2. 제약조건 추가 - Primary Key 추가 ALTER TABLE TEAM ..

Backend/SQL 2022.11.04