SQL 10

[SQL 기초 Part 8] DDL (데이터 정의어)

1. CREATE TABLE CREATE TABLE STUDENT ( 학번 INT PRIMARY KEY, 이름 VARCHAR(20) NOT NULL, 전공 VARCHAR(30), 학년 INT CHECK (학년 BETWEEN 1 AND 4));2. ALTER TABLEALTER TABLE STUDENT ADD 입학년도 DATE;ALTER TABLE STUDENT MODIFY 이름 VARCHAR(50);ALTER TABLE STUDENT DROP COLUMN 전공;3. DROP TABLEDROP TABLE STUDENT;4. 제약조건PRIMARY KEY: 고유 + NOT NULLFOREIGN KEY: 다른 테이블 참조UNIQUE: 중복 불가NOT NULL: 반드시 값 존재CHECK: 조건 만족해야 함..

[SQL 기초 Part 7] DML (데이터 조작어)

1. INSERTINSERT INTO STUDENT (학번, 이름, 전공, 학년)VALUES (1004, '홍길동', '전자공학', 3);2. UPDATEUPDATE STUDENTSET 학년 = 4WHERE 학번 = 1004;3. DELETEDELETE FROM STUDENTWHERE 학번 = 1004; 4. MERGE (Oracle) MERGE INTO TARGET TUSING SOURCE SON (T.ID = S.ID)WHEN MATCHED THEN UPDATE SET T.NAME = S.NAMEWHEN NOT MATCHED THEN INSERT (ID, NAME) VALUES (S.ID, S.NAME);5. 정리INSERT: 데이터 입력UPDATE: 수정DELETE: 삭제MERGE: 삽입/수정/삭제..

[SQL 기초 Part 6] 서브쿼리 (Subquery)

1. 서브쿼리란?SQL문 안에 포함된 또 다른 SELECT문괄호 ( ) 안에 작성2. 단일 행 서브쿼리 SELECT 이름 FROM STUDENTWHERE 학년 = (SELECT MAX(학년) FROM STUDENT);3. 다중 행 서브쿼리SELECT 이름 FROM STUDENTWHERE 전공 IN (SELECT 전공 FROM STUDENT WHERE 학년 = 1);4. 다중 컬럼 서브쿼리SELECT 이름, 학년FROM STUDENTWHERE (학년, 전공) IN (SELECT 학년, 전공 FROM HONOR);5. 상관 서브쿼리SELECT 이름FROM STUDENT SWHERE EXISTS (SELECT * FROM COURSE C WHERE S.학번 = C.학번);6. 정리단일 행: =, >, 다중 행..

[SQL 기초 Part 5] JOIN (조인)

1. JOIN이란?조인은 여러 테이블의 데이터를 결합할 때 사용합니다.RDBMS에서는 데이터가 여러 테이블에 나뉘어 있기 때문에, JOIN은 필수 개념입니다.2. INNER JOIN (내부 조인)SELECT S.이름, C.과목명FROM STUDENT SINNER JOIN COURSE CON S.학번 = C.학번;조건이 일치하는 데이터만 조회됨3. OUTER JOIN (외부 조인)LEFT OUTER JOIN: 왼쪽 테이블은 모두 출력, 오른쪽은 매칭되는 값만 출력RIGHT OUTER JOIN: 반대 개념FULL OUTER JOIN: 양쪽 모두 출력예시 (LEFT JOIN):SELECT S.이름, C.과목명FROM STUDENT SLEFT JOIN COURSE CON S.학번 = C.학번;4. SELF JO..

[SQL 기초 Part 4] 다양한 연산자 활용

SQL에서 데이터를 조회하거나 조건을 지정할 때는 연산자(Operators)를 자주 사용합니다.이번 글에서는 비교, 논리, 패턴 매칭 등 SQL에서 자주 쓰이는 연산자들을 정리해보겠습니다.1. 산술 연산자숫자 계산에 사용하는 연산자입니다.연산자의미예시+덧셈SELECT 10 + 5; → 15-뺄셈SELECT 10 - 5; → 5*곱셈SELECT 10 * 5; → 50/나눗셈SELECT 10 / 5; → 2예시: 학생 테이블에서 학년 * 2 값을 출력SELECT 이름, 학년, 학년 * 2 AS 학년x2FROM STUDENT;2. 비교 연산자데이터를 조건과 비교할 때 사용합니다.연산자의미=같다 또는 !=같지 않다>크다작다>=크거나 같다작거나 같다예시: 2학년 이상 학생 조회SELECT * FROM STUDEN..

[SQL 기초 Part 3] 집계와 그룹화 (GROUP BY / HAVING)

SQL에서 데이터를 다룰 때는 단순히 조회만 하는 것이 아니라,집계(Aggregation)를 통해 요약된 정보를 얻는 경우가 많습니다.이번 글에서는 집계 함수와 함께 GROUP BY / HAVING 문법을 정리해보겠습니다.1. 집계 함수 (Aggregate Functions)집계 함수는 여러 행(Row)의 값을 모아 하나의 결과를 반환합니다.함수명설명예시COUNT행(Row)의 개수 반환COUNT(*)SUM합계 반환SUM(학점)AVG평균 반환AVG(점수)MAX최대값 반환MAX(나이)MIN최소값 반환MIN(나이)📌 특징NULL 값은 대부분 집계에서 제외됩니다. (COUNT(*)만 NULL 포함)2. COUNT 예시-- 전체 학생 수SELECT COUNT(*) AS 총학생수 FROM STUDENT;-- 전공..

[SQL 기초 Part 2] SELECT 문 기본

SQL에서 가장 많이 사용되는 명령어는 단연 SELECT입니다.데이터베이스에 저장된 데이터를 조회하고, 필요한 정보만 뽑아내는 핵심 기능입니다.이번 글에서는 SELECT 문법의 기본 구조와 활용법을 정리해보겠습니다.1. SELECT 문의 기본 구조SELECT [컬럼명 또는 *]FROM [테이블명]WHERE [조건식]GROUP BY [컬럼]HAVING [조건식]ORDER BY [컬럼 ASC/DESC];👉 이 구조는 SQL의 대표적인 실행 순서를 보여줍니다.단, 실제 실행 순서는 다음과 같습니다.FROM (테이블 선택)WHERE (조건에 맞는 행 선택)GROUP BY (그룹화)HAVING (그룹 조건)SELECT (컬럼 선택)ORDER BY (정렬)2. 모든 컬럼 조회하기SELECT * FROM STUDE..

[SQL 기초 Part 1] SQL 기본 개념

데이터베이스 공부를 시작할 때 가장 먼저 알아야 하는 것이 바로 SQL의 개념입니다. 이번 글에서는 SQL이 무엇인지, 그리고 SQL 문장이 어떤 종류로 나뉘는지를 정리해보겠습니다.1. SQL이란 무엇인가?SQL (Structured Query Language): 관계형 데이터베이스(RDBMS)에서 데이터를 조회, 추가, 수정, 삭제하기 위해 사용하는 표준 언어관계형 데이터베이스(RDBMS): 데이터를 행(Row)과 열(Column)로 이루어진 테이블(Table) 구조로 저장하고 관리하는 시스템→ Oracle, MySQL, PostgreSQL, MSSQL 등이 대표적인 RDBMS👉 즉, SQL은 데이터베이스에 질문(Query)을 던지고 답을 받는 언어2. 데이터베이스와 테이블 구조데이터베이스 안에는 여..