***본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다
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이다.
FROM table1
INNER JOIN table2
ON table1.column = table2.column;
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 조건을 사용하여 특정 행만 삭제하도록 주의해야 한다.
WHERE condition;
WHERE name = 'John Doe';
Subqueries (서브쿼리)
서브쿼리는 하나의 쿼리 안에 또 다른 쿼리를 중첩시켜 사용하는 방법이다. 일반적으로 WHERE, FROM, SELECT 안에서 사용된다.
SELECT name
FROM students
WHERE age > (SELECT AVG(age) FROM students);




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