Database16 RDBMS 란?(+트랜잭션, 롤백) RDBMS란? RDBMS(Relational Database Management System)는 관계형 데이터베이스를 생성, 수정, 관리 및 검색하는 데 사용되는 소프트웨어 시스템입니다. RDBMS는 SQL을 사용하여 데이터를 조작하고 검색하는 데 많이 사용됩니다. 관계형 데이터베이스는 테이블(Table)로 구성되며, 각 테이블은 행(Row)과 열(Column)로 이루어져 있습니다. 각 열은 특정 데이터 유형을 가지고 있으며, 각 행은 데이터 레코드(Record)를 나타냅니다. RDBMS는 데이터 테이블 간에 관계(Relationship)를 정의하여 데이터를 구성하고 관리합니다. RDBMS의 가장 중요한 특징은 ACID 특성입니다. ACID는 다음과 같이 정의됩니다. 원자성(Atomicity): 트랜잭션.. 2023. 4. 6. [SQL] HAVING HAVING HAVING 구문은 GROUP BY 구문과 함께 사용되며, 그룹화된 결과에 대한 조건을 지정할 때 사용됩니다. HAVING 구문은 WHERE 구문과 유사하지만, WHERE 구문은 단일 행에 대한 조건을 지정하는 반면, HAVING 구문은 그룹화된 결과에 대한 조건을 지정합니다. HAVING 구문은 집계 함수와 함께 사용됩니다. 집계 함수는 GROUP BY 구문의 그룹화된 결과에 대해 계산을 수행합니다. HAVING 구문은 집계 함수를 기반으로 한 조건을 지정하여, 그룹화된 결과에 대한 필터링을 수행합니다. 예를 들어, "employees" 테이블에서 부서별로 직원 수가 3명 이상이고, 평균 급여가 5000 이상인 부서를 검색하고 싶다면 다음과 같이 SQL 문을 작성할 수 있습니다. SELEC.. 2023. 4. 6. [SQL] GROUP BY GROUP BY GROUP BY 구문은 SELECT 문에서 그룹별 집계를 수행하는데 사용됩니다. GROUP BY 구문은 열 이름을 지정하여 그 열에 따라 결과 행을 그룹화합니다. 각 그룹은 고유한 값을 가지며, 이 그룹들에 대한 집계 함수를 적용하여 결과를 도출할 수 있습니다. 예를 들어, "employees" 테이블에서 부서별로 직원 수와 평균 급여를 계산하고 싶다면 다음과 같이 SQL 문을 작성할 수 있습니다. SELECT department, COUNT(*), AVG(salary) FROM employees GROUP BY department; 위의 SQL 문은 "employees" 테이블에서 부서별로 직원 수와 평균 급여를 계산하며, 결과는 부서 이름, 직원 수, 평균 급여로 구성된 결과 테이블을.. 2023. 4. 6. [SQL] 그룹함수(집계함수) 그룹함수(집계함수) 그룹 함수는 SELECT 문에서 그룹별 집계를 수행하는데 사용됩니다. 그룹 함수는 여러 행을 하나의 결과 행으로 집계하며, 집계된 결과는 그룹화된 열에 따라서 계산됩니다. 사용방법 예시] SELECT SUM(컬럼명) FROM 테이블명:=>합계 구하기 가장 자주 사용되는 그룹 함수는 다음과 같습니다. COUNT(): 테이블의 전체 레코드 개수를 가져온다 예) SELECT COUNT() FROM 테이블명 AVG(컬럼명): 해당 컬럼의 전체 평균값을 구한다. 예) SELECT AVG(컬럼명) FROM 테이블명 MAX(컬럼명): 해당 컬럼의 가장 큰 값을 구한다. 예) SELECT MAX(컬럼명) FROM 테이블명 MIN(컬럼명): 해당 컬럼의 가장 작은 값을 구한다 예) SELECT MIN.. 2023. 4. 6. [SQL] ORDER BY 정렬 ORDER BY 절이란? ORDER BY 절은 SELECT 문의 결과를 정렬하는데 사용됩니다. ORDER BY는 하나 이상의 열 이름과 정렬 방향을 지정합니다. SELECT문의 맨 뒤에 기술 되어야 합니다. 예를 들어, "employees" 테이블에서 급여가 높은 직원부터 낮은 순으로 정렬하고 싶다면 다음과 같이 SQL 문을 작성할 수 있습니다. SELECT * FROM employees ORDER BY salary DESC; 위의 SQL 문은 "employees" 테이블에서 급여가 높은 순으로 정렬된 모든 행을 선택합니다. DESC는 내림차순을 나타내며, 오름차순으로 정렬하려면 ASC를 사용합니다. 또한, ORDER BY 구문은 여러 개의 열 이름을 지정하여 다중 정렬을 할 수도 있습니다. 예를 들어,.. 2023. 4. 6. [SQL] SELECT 쿼리 실행 순서(MySQL,MariaDB,Oracle,MS SQL,PostgreSQL,SQLite) 일반적인 쿼리 실행 순서 쿼리 실행 순서는 일반적으로 다음과 같습니다. FROM: 쿼리의 대상이 되는 테이블을 선택합니다. WHERE: 특정 조건을 만족하는 행만 선택합니다. GROUP BY: 특정 열을 기준으로 그룹을 만듭니다. HAVING: 그룹에 대한 조건을 지정합니다. SELECT: 조회할 열을 선택합니다. DISTINCT: 중복된 결과를 제거합니다. ORDER BY: 결과를 정렬합니다. LIMIT/OFFSET: 결과를 제한하거나 오프셋을 지정합니다. 하지만 이러한 실행 순서는 모든 데이터베이스 시스템에서 동일하지는 않습니다. 일부 시스템에서는 WHERE 절의 조건을 먼저 처리하고, GROUP BY 절 이전에 SELECT 절을 실행하는 등 다른 실행 순서를 따릅니다. 따라서 사용하는 데이터베이스 .. 2023. 4. 6. [SQL] OUTER JOIN (RIGHT, LEFT, FULL) OUTER JOIN SQL의 OUTER JOIN은 두 개의 테이블을 연결할 때, JOIN 조건을 만족하지 않는 행도 결과에 포함하여 보여줍니다. JOIN 조건을 만족하지 않는 행은 NULL 값을 가지며, LEFT OUTER JOIN과 RIGHT OUTER JOIN 두 가지 유형이 있습니다. LEFT OUTER JOIN LEFT OUTER JOIN은 왼쪽 테이블의 모든 행과 JOIN 조건을 만족하는 오른쪽 테이블의 행을 결합합니다. JOIN 조건을 만족하지 않는 오른쪽 테이블의 행은 NULL 값을 가지며, 결과에 포함됩니다. SELECT * FROM table1 LEFT OUTER JOIN table2 ON table1.column1 = table2.column1; 위 쿼리문은 table1 테이블의 모든 .. 2023. 4. 6. 이전 1 2 다음 반응형