일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 티스토리챌린지
- 오블완
- DBMS
- react
- mysql
- Linux
- oracle
- 개발자
- 자바
- 책
- pandas
- 네트워크
- java
- SQL
- MariaDB
- spring
- AI
- Javascript
- mssql
- 명령어
- Python
- 후기
- 독서
- 개발
- IntelliJ
- docker
- 리눅스
- git
- PostgreSQL
- 책추천
- Today
- Total
목록SQL (16)
hanker
SQL에서 트랜잭션(Transaction)은 데이터베이스의 상태를 관리하고 데이터 무결성을 보장하는 중요한 개념이다.특히, 데이터 처리 중 오류가 발생했을 경우 롤백(ROLLBACK)으로 상태를 복원하거나, 커밋(COMMIT)으로 변경 사항을 확정ㅇ하는 기능은 트랜잭션의 핵심이다. 이번 글에서는 트랜잭션의 개념, 동작 원리, 그리고 활용 방법에 대해서 알아보자! 1. 트랜잭션(Transaction) 이란? 트랜잭션은 데이터베이스에서 수행되는 하나 이상의 작업 단위를 말한다.데이터 무결성을 유지하기 위해 모두 성공하거나 모두 실패해야 한다. * 무결성 : 데이터의 정확성, 일관성, 신뢰성을 전체 라이프사이클 동안 유지하는 것을 의미 트랜잭션의 4가지 특성 (ACID)- 원자성 (Atomicity) : ..
SQL에서 인덱스(Index)는 데이터베이스의 검색 속도를 높이는 데 중요한 역할을 한다.그러나 잘못된 인덱스 설정은 성능을 저하시킬 수 있다.이번 글에서는 인덱스의 정의, 종류, 그리고 효과적으로 사용하는 방법을 알아보자.1. 인덱스란? 인덱스는 책의 색인처럼 데이터베이스에서 특정 데이터를 빠르게 찾을 수 있도록 돕는 구조이다. - 인덱스가 없다면 데이터베이스는 모든 행을 하나씩 탐색하는 풀 스캔(Full Scan)을 수행한다.- 인덱스는 테이블의 특정 열에 대해 정렬된 데이터를 저장하여 검색 속도를 높인다.2. 인덱스의 작동 원리 인덱스는 B-tree 구조 또는 해시(Hash)를 기반으로 작동한다. - B-tree 인덱스: 대부분의 데이터베이스에서 기본적으로 사용하는 인덱스 유형으로, 범위 검색에 유..
SQL에서 서브쿼리는 쿼리 안에 중첩된 또 다른 쿼리를 의미한다.이를 통해 복잡한 데이터 처리를 간결하고 유연하게 구현할 수 있다.서브쿼리는 SELECT, INSERT, UPDATE, DELETE와 함께 사용되며, 다양한 방식으로 활용 가능하다.이번 글에서는 서브쿼리의 정의와 활용 방법을 알아보자! 1. 서브쿼리란? 서브쿼리는 주 쿼리(main query) 내에서 중첩된 쿼리로, 주로 임시 데이터 처리를 위해 사용된다. 서브쿼리의 주요 특징은- 소괄호 ( )로 감싸져야 한다.- 주 쿼리에 데이터를 제공하거나 조건을 정의한다. 예제를 통해 더 자세히 알아보자. 2. 서브쿼리의 유형 2.1 스칼라 서브쿼리 (Scalar Subquery)한 행과 한 열을 반환하여 주 쿼리의 값으로 사용된다.SELECT na..
데이터베이스에서 JOIN은 여러 테이블의 데이터를 결합하여 유의미한 정보를 추출할 때 사용된다.JOIN에는 다양한 종류가 있으며, 각 데이터베이스에서 동일한 방식으로 동작한다.이번 글에서는 JOIN의 종류와 SQL에서의 활용 방법을 알아보자! 1. INNER JOIN INNER JOIN은 두 테이블 간의 공통된 값(조건)에 해당하는 데이터만 반환한다.SELECT A.name, B.order_dateFROM customers AINNER JOIN orders B ON A.customer_id = B.customer_id;# 결과: customers와 orders 테이블에서 customer_id가 일치하는 데이터만 반환2. LEFT JOIN (LEFT OUTER JOIN) LEFT JOIN은 왼쪽 테이블의 ..
SQL에서 데이터를 필터링하고 정렬하는 작업은 모든 데이터베이스에서 공통적으로 사용하는 기능이다.이번 글에서는 각 DB별로 필터링하고 정렬하는 방법과 특징에 대해서 알아보자. 필터링 (WHERE) SQL에서 데이터를 필터링하려면 WHERE 절을 사용한다.조건설명=값이 동일한 경우!= 또는 값이 동일하지 않은 경우, >크거나 작은 경우LIKE패턴 매칭BETWEEN범위 내 값IN특정 값 목록 내에 있는 경우IS NULL값이 NULL 인 경우IS NOT NULL값이 NULL이 아닌 경우-- 이름이 'Hanker'이고, 나이가 30 이상인 직원 검색SELECT *FROM userWHERE name = 'Hanker' AND age >= 30; 정렬 (ORDER BY) ORDER BY 절은 데이터를 특정 열을..
SQL에서 데이터(쿼리결과)의 순위를 부여하는 방법에 대해서 알아보자. 공통 (MySQL8.0 이상 지원 / MSSQL / Oracle / PostgreSQL) 윈도우 함수를 이용 1. RANK : 동일한 값일 경우 동일 순위를 부여하고 다음 순위는 건너뛴다.SELECT employee_name, department_id, salary, RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank_in_departmentFROM employees;* 각 부서별로 직원들의 급여 순위를 반환 2. DENSE_RANK : 동일 순위를 부여하지만, 다음 순위를 건너뛰지 않음SELECT employee_nam..