- 스택
- 쟝고
- 큐
- DB
- create
- delete
- SQL
- update
- Vue
- Django
- 뷰
- 트리
- outer join
- count
- drf
- migrations
- Tree
- Queue
- M:N
- N:1
- 완전검색
- distinct
- 백트래킹
- Article & User
- stack
- 이진트리
- 통계학
- 그리디
- regexp
- ORM
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
목록SQL/개념 (62)
데이터 분석 기술 블로그
ROW_NUMBER 함수란?"ROW_NUMBER()" 함수는 사용되는 윈도우 함수(Window Function) 중 하나로, 특정 정렬 기준에 따라 각 행에 고유한 일련번호를 부여합니다. 동일한 값이 있어도 고유한 번호를 부여하며, 중복 순위는 없습니다.ROW_NUMBER 기본 문법ROW_NUMBER() OVER ([PARTITION BY column] ORDER BY column ASC|DESC) OVER: ROW_NUMBER() 함수가 적용될 데이터의 범위와 정렬 기준을 지정합니다.PARTITION BY column: 데이터를 특정 열로 그룹화하여 그룹별로 행 번호를 매깁니다(옵션).ORDER BY column ASC|DESC: 지정된 열을 기준으로 정렬하여 번호를 매깁니다.ROW_NUMBER 특징 ..
RANK 함수란?"RANK()" 함수는 순위를 매기는 윈도우 함수(Window Function)입니다. 특정 열의 값에 따라 각 행에 순위를 할당합니다. 값이 동일한 경우, 동일한 순위를 부여하며, 그다음 순위는 건너뜁니다(중복 순위 처리).RANK 기본 문법RANK() OVER ([PARTITION BY column] ORDER BY column ASC|DESC)OVER: RANK() 함수가 작동할 범위를 지정합니다.PARTITION BY column: 데이터를 특정 열로 그룹화하여 그룹별로 순위를 매깁니다(옵션).ORDER BY column ASC|DESC: 지정한 열의 값으로 순위를 매깁니다.RANK의 특징 동일 값에 동일 순위: 값이 같은 경우 동일한 순위를 부여합니다.순위 건너뜀: 동일 순위가 ..
인덱스란?"인덱스(Index)"는 데이터베이스에서 검색 속도를 향상하기 위해 사용하는 구조입니다. 책의 목차처럼 테이블의 특정 컬럼에 대해 빠르게 데이터를 찾을 수 있도록 돕습니다. 인덱스를 생성하면 데이터베이스가 해당 컬럼에 대해 정렬된 구조를 유지하여, 검색과 정렬 작업이 더 효율적으로 수행됩니다.인덱스의 개념 빠른 데이터 검색:테이블의 데이터 전체를 탐색(Full Table Scan)하지 않고, 인덱스를 통해 필요한 데이터를 빠르게 찾아냅니다.정렬된 데이터 구조:대부분의 인덱스는 B-Tree 구조를 사용하여 정렬된 상태를 유지합니다.추가 저장 공간:인덱스는 별도의 데이터 구조이므로 추가적인 저장 공간이 필요합니다.쓰기 작업의 부담:데이터를 삽입, 수정, 삭제할 때 인덱스를 갱신해야 하므로, 쓰기 성..
ALTER 명령어란?"ALTER"는 기존 테이블, 데이터베이스, 뷰 등의 구조를 변경할 때 사용하는 명령어입니다. 주로 테이블의 구조를 수정하기 위해 사용됩니다.ALTER 구문1. 테이블에 컬럼 추가ALTER TABLE table_nameADD column_name datatype constraint;2. 테이블의 기존 컬럼 수정ALTER TABLE table_nameMODIFY column_name new_datatype constraint;일부 DBMS(MySQL)에서는 MODIFY 대신 ALTER COLUMN을 사용.3. 테이블의 컬럼 이름 변경ALTER TABLE table_nameCHANGE old_column_name new_column_name datatype;일부 DBMS(PostgreSQ..
CREATE 명령어란?"CREATE"는 데이터베이스 객체(테이블, 데이터베이스, 뷰, 인덱스 등)를 생성할 때 사용하는 명령어입니다. 가장 자주 사용되는 것은 테이블 생성이며, 이를 통해 데이터를 저장할 구조를 정의합니다.CREATE 구문1. 데이터베이스 생성CREATE DATABASE database_name; database_name: 생성할 데이터베이스의 이름.2. 테이블 생성CREATE TABLE table_name ( column1 datatype constraint, column2 datatype constraint, ...); table_name: 생성할 테이블의 이름.column: 테이블의 컬럼 이름.datatype: 컬럼의 데이터 타입 (예: INT, VARCHAR, DA..
DELETE 명령어란?"DELETE"는테이블에서 데이터를 삭제할 때 사용하는 명령어입니다. 특정 조건에 맞는 하나 이상의 행(row)을 삭제할 수 있으며, 조건을 지정하지 않으면 테이블의 모든 데이터를 삭제할 수 있습니다.DELETE 구문1. 특정 조건의 데이터 삭제DELETE FROM table_nameWHERE condition; table_name: 데이터를 삭제할 테이블의 이름.WHERE condition: 삭제할 행을 지정하는 조건.2. 테이블의 모든 데이터 삭제DELETE FROM table_name; 주의: WHERE 절이 없으면 테이블의 모든 행이 삭제됩니다.DELETE의 특징 행 단위 삭제:DELETE는 테이블에서 특정 조건에 맞는 행(row)을 삭제합니다.조건부 삭제:WHERE 절을 ..
UPDATE 명령어란?"UPDATE"는 테이블의 데이터를 수정할 때 사용하는 명령어입니다. 특정 조건에 맞는 하나 이상의 행(row)의 값을 업데이트할 수 있습니다.UPDATE 구문UPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition; table_name: 데이터를 수정할 테이블의 이름.SET column = value: 수정할 컬럼과 새로운 값.WHERE condition: 업데이트할 행을 지정하는 조건. 조건이 없으면 테이블의 모든 행이 업데이트됩니다.UPDATE 특징 SET 절:수정할 컬럼과 새로운 값을 지정합니다.여러 개의 컬럼을 한 번에 업데이트할 수 있습니다.WHERE 절:조건을 명시하지 않으면 테이블의 모든 행..
INSERT 명령어란?"INSERT"는 테이블에 데이터를 추가할 때 사용하는 명령어입니다. 하나의 행(row) 또는 여러 행을 한 번에 삽입할 수 있습니다.INSERT 구문 1. 단일 행 삽입INSERT INTO table_name (column1, column2, ...)VALUES (value1, value2, ...); table_name: 데이터를 삽입할 테이블 이름.column1, column2,...: 데이터를 삽입할 컬럼 이름.value1, value2, ...: 삽입할 값. 2. 여러 행 삽입INSERT INTO table_name (column1, column2, ...)VALUES (value1, value2, ...), (value3, value4, ...), .....