카테고리 없음

패스트캠퍼스 환급챌린지 30일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

Laftel 2025. 4. 3. 16:13
반응형

***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다 
 

SQL이란?

SQL은 Structured Query Language의 약자로,
**관계형 데이터베이스(RDBMS)**에서 데이터를 정의하고, 조작하고, 제어하기 위한 표준화된 언어입니다.


 SQL의 주요 특징 및 기능

1. 데이터베이스를 다루는 통합 언어

  • SQL은 Oracle, MySQL, PostgreSQL, MSSQL 등 다양한 관계형 데이터베이스에서 표준적으로 사용됩니다.
  • 데이터를 저장, 조회, 수정, 삭제할 수 있는 다양한 명령어와 구문을 제공합니다.

2. CRUD 작업이 가능하다

  • SQL은 데이터에 대한 기본 작업인 **CRUD(Create, Read, Update, Delete)**를 수행할 수 있습니다.
  • 주요 키워드:
    • INSERT : 새로운 데이터 추가
    • SELECT : 데이터 조회
    • UPDATE : 기존 데이터 수정
    • DELETE : 데이터 삭제

3. 스키마를 정의하고 변경할 수 있다 (DDL)

  • SQL은 테이블, 컬럼, 인덱스 등 데이터베이스 구조를 정의하거나 수정하는 데 사용됩니다.
  • 이를 **DDL(Data Definition Language)**이라 하며, 대표적인 명령어는 다음과 같습니다:
    • CREATE : 테이블 또는 데이터베이스 생성
    • ALTER : 구조 수정
    • DROP : 테이블 삭제

4. ACID 트랜잭션을 지원한다

  • SQL은 BEGIN, COMMIT, ROLLBACK 같은 키워드를 통해 트랜잭션(transaction) 처리를 지원합니다.
  • 이를 통해 데이터 무결성 보장과 함께 안정적인 연산 처리가 가능합니다.
  • 트랜잭션은 다음의 ACID 속성을 가집니다:
    • Atomicity (원자성)
    • Consistency (일관성)
    • Isolation (격리성)
    • Durability (지속성)

 요약

항목설명
정의 Structured Query Language, 관계형 데이터베이스용 언어
기능 CRUD, 스키마 정의(DDL), 트랜잭션 관리, 쿼리 실행
활용 데이터 저장, 분석, 통계, 비즈니스 로직 구현 등
특징 표준화, 범용성, 다양한 DBMS에서 사용 가능

SQL은 단순한 쿼리 언어 그 이상으로, 데이터 중심의 모든 시스템에서 핵심 역할을 수행하는 언어입니다. 

SELECT 문이란?

SELECT 문은 데이터베이스에서 데이터를 조회할 때 사용하는 SQL 명령어입니다.
원하는 컬럼(column)을 지정하고, 어떤 테이블(table)로부터 가져올 것인지 명시합니다.
 
SELECT column1, column2
FROM table_name;

  • SELECT: 조회할 컬럼 이름들을 지정
  • FROM: 데이터를 가져올 테이블 이름 지정

컬럼을 모두 조회하고 싶을 경우 SELECT * FROM table_name;처럼 *를 사용할 수 있습니다.
 
WHERE 절은 조건에 맞는 데이터만 조회하거나 조작할 때 사용된다. 조건식에는 비교 연산자(=, >, <, != 등)나 논리 연산자(AND, OR, NOT)를 사용할 수 있다.
SELECT column1
FROM table_name
WHERE condition;
SELECT name
FROM students
WHERE age > 18;

ORDER BY 절

ORDER BY는 조회된 데이터를 특정 컬럼 기준으로 정렬할 때 사용된다. 오름차순(ASC) 또는 내림차순(DESC)으로 지정 가능하다.
SELECT column1
FROM table_name
ORDER BY column1 ASC/DESC;

AGGREGATE FUNCTION (집계 함수)

집계 함수는 데이터를 하나의 결과로 요약할 때 사용된다. 대표적인 함수로 COUNT(), SUM(), AVG(), MAX(), MIN() 등이 있다.
 

GROUP BY 절

GROUP BY는 특정 컬럼 기준으로 데이터를 그룹화하고, 그룹별로 집계할 때 사용된다.
SELECT column1, COUNT(*)
FROM table_name
GROUP BY column1;

HAVING 절

HAVING은 GROUP BY와 함께 사용되며, 집계 함수 결과에 조건을 걸 때 사용된다. WHERE는 개별 행에 조건을 걸지만, HAVING은 그룹 결과에 조건을 건다는 차이가 있다.
SELECT column1, COUNT(*)
FROM table_name
GROUP BY column1
HAVING condition;
SELECT age, COUNT(*)
FROM students
GROUP BY age
HAVING COUNT(*) > 1;

JOIN

JOIN은 두 개 이상의 테이블을 연결해 하나의 결과로 조회할 때 사용된다. 가장 기본적인 조인은 INNER JOIN이다.

SELECT columns
FROM table1
INNER JOIN table2
ON table1.column = table2.column;
 
SELECT *
FROM user
INNER JOIN gender
ON user.gender_id = gender.id;
 

INSERT

INSERT 문은 테이블에 새로운 데이터를 추가할 때 사용된다.

INSERT INTO table_name (column1, column2)
VALUES (value1, value2);

INSERT INTO students (name, age)
VALUES ('John Doe', 22);

UPDATE

UPDATE 문은 기존 데이터를 수정할 때 사용된다. 반드시 WHERE 조건을 함께 사용해 특정 행만 수정하도록 해야 한다.

UPDATE table_name
SET column1 = value1
WHERE condition;

UPDATE students
SET name = '코드팩토리'
WHERE id = 2;

 

DELETE

DELETE 문은 데이터를 삭제할 때 사용된다. 역시 WHERE 조건을 사용하여 특정 행만 삭제하도록 주의해야 한다.

DELETE FROM table_name
WHERE condition;
 
DELETE FROM students
WHERE name = 'John Doe';
 

Subqueries (서브쿼리)

서브쿼리는 하나의 쿼리 안에 또 다른 쿼리를 중첩시켜 사용하는 방법이다. 일반적으로 WHERE, FROM, SELECT 안에서 사용된다.

SELECT name
FROM students
WHERE age > (SELECT AVG(age) FROM students);


#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완
https://bit.ly/4hTSJNB
 

반응형