[SQL] DML - 데이터 조회 (SELECT) & 집계 함수
·
SQL
데이터 조회 : SELECT 문SELECT [DISTINCT] 컬럼명1 [AS 별칭], 컬럼명2, ... -- 전체 조회 : SELECT *FROM 테이블명 [AS 별칭][JOIN 구문][WHERE 조건] -- 조건에 맞는 데이터만 그룹화[GROUP BY 컬럼명1, 컬럼명2, ...][HAVING 그룹조건][ORDER BY 컬럼명1 [ASC | DESC], 컬럼명2, ...][LIMIT 숫자] | [LIMIT 숫자a 숫자b];-- 여러 테이블 조회 시, '테이블명.컬럼명'으로 입력해야 정확함 #  [DISTINCT]  - 선택한 컬럼들에 대해서 중복되는 값을 가진 레코드들을 제거함 #  [WHERE]  - WHERE 조건절 설명 : https://young0105.tistory.com/117 #  [G..
[SQL] 집계 함수
·
SQL
집계 함수  - GROUP BY가 지정되지 않았을 경우, 조회되는 모든 데이터에 대한 결과를 출력함  - GROUP BY가 지정되어 있을 경우, 그룹에 대한 결과를 출력함  - NULL 값을 가진 레코드를 제외하고 수행함  - 컬럼명에 'DISTINCT'를 설정하면 중복되지 않은 레코드에 대해서만 수행함 집계 함수설명COUNT(*)COUNT([DISTINCT] 컬럼명)레코드 수(* 또는 NOT NULL 컬럼에 대해서 사용하는 것을 권장)SUM(*)SUM([DISTINCT] 컬럼명)합계AVG(*)AVG([DISTINCT] 컬럼명)평균MAX(*)MAX([DISTINCT] 컬럼명)최댓값MIN(*)MIN([DISTINCT] 컬럼명)최솟값STD(*)STD([DISTINCT] 컬럼명)표준편차VARIANCE(*)VA..
[SQL] 함수 (숫자, 문자열, 날짜/시간)
·
SQL
숫자 함수함수기능 CEIL(숫자, [n]) n이 명시되지 않았다면 정수 자리까지 올림  n이 명시되었다면 소수점 n번째 자리까지 올림  ROUND(숫자, [n]) n이 명시되지 않았다면 정수 자리까지 반올림  n이 명시되었다면 소수점 n번째 자리까지 반올림 FLOOR(숫자, [n]) n이 명시되지 않았다면 정수 자리까지 내림  n이 명시되었다면 소수점 n번째 자리까지 내림 ABS(숫자) 절댓값으로 변환 FORMAT(실수, n) 실수를 소수점 n번째 자리까지만 출력 SIGN(숫자) 음수면 -1 반환 0이면 0 반환 양수면 1 반환  - 집계 함수 : https://young0105.tistory.com/127  문자열 함수함수기능CHAR_LENGTH('문자열') 문자열 길이 (공백 포함) LENGTH('문..
[SQL] 조인 (JOIN)
·
SQL
조인 (JOIN)  - 두 개의 테이블을 연결하여 데이터를 검색하는 방법 #  다중 조인SELECT *FROM 테이블1LEFT JOIN 테이블2ON 테이블1.Key = 테이블2.KeyLEFT JOIN 테이블3ON 테이블1.Key = 테이블3.Key;  내부 조인 (자연 조인)  - 두 테이블에서 일치하는 레코드만을 출력함 (교집합) SELECT *FROM 기준테이블 AS 'a' -- 'a'라는 별칭 지정INNER JOIN 대상테이블 AS 'b' -- 'b'라는 별칭 지정ON a.Key = b.Key -- 주로 기본키, 외래키로 연결함[WHERE 조건];  외부 조인#  LEFT JOIN  - FROM 절의 테이블에 있는 모든 데이터 + JOIN 절의 테이블에 있는 동일한 데이터 SELECT *FROM 기..
[SQL] 관계 차수
·
SQL
관계 차수#  1:1 관계  - 두 개의 테이블 간에 각각 하나의 레코드만 매칭되는 관계  - 주로 기본키와 외래키를 연결해서 관계 설정  - 두 테이블 중 하나의 테이블에서만 외래키를 가질 수 있음  - 1:1 관계를 보조적인 테이블로 활용할 수 있음   - 1:1 관계를 사용하는 상황      1) 테이블의 컬럼 중 일부가 NULL 값을 가지는 경우      2) 특정 컬럼 값이 자주 변경되지 않는 경우      → 1:1 관계를 사용하면 테이블의 정규화를 유지하면서도 데이터를 보다 효율적으로 관리 가능       # 정규화 (추후 따로 포스팅 예정)          : 데이터베이스 설계에서, 가능한 중복을 제거하고 데이터를 구조화하는 프로세스            → 데이터의 일관성 & 유지보수성 &..