2025/06/02 16

SQL Server 연습문제 - 테이블 생성, 데이터 삽입/수정/삭제 실습

📖 문제TestDB 데이터베이스에서 숫자형 열 3개(col_1, col_2, col_3)를 가진 doit_quiz 테이블을 생성하세요.doit_quiz 테이블에 (5, 3, 7)과 (1, 4, 9) 데이터를 삽입하세요.col_2 값이 3인 데이터를 5로 수정하세요.col_1 값이 5인 데이터를 삭제하세요.doit_quiz 테이블을 삭제하세요.📌 예제 정답USE TestDB;-- 1. 테이블 생성CREATE TABLE doit_quiz ( col_1 INT, col_2 INT, col_3 INT);-- 2. 데이터 삽입INSERT INTO doit_quiz VALUES (5, 3, 7), (1, 4, 9);SELECT * FROM doit_quiz;-- 3. 데이터 수정UPDATE doit_qui..

[ 34일차 14~27 ] 수업 정리 - SQL

📌 오늘 배운 내용오늘은 SQL Server에서의 데이터베이스 및 테이블 생성, 데이터 추가/수정/삭제, 제약조건, 데이터 저장 방식 비교, 그리고 INNER JOIN 등을 배웠습니다. 또한, SQL Server의 다양한 기능을 실습하며 문법을 익혔습니다.💻 예제 코드✅ 데이터베이스 & 테이블 생성/삭제CREATE DATABASE TestDBUSE masterDROP DATABASE TestDB✅ 테이블 생성 및 데이터 입력USE DoItSQLCREATE TABLE doit_dml(col_1 INT, col_2 NVARCHAR(50), col_3 DATETIME)INSERT INTO doit_dml VALUES (1, 'DoItSQL', '2021-01-01'), (2, 'Python', NULL),..

국비 2025.06.02

SQL Server 27강 - 두 테이블 연결 조회 (INNER JOIN)

이번 글에서는 INNER JOIN을 사용하여 두 개의 테이블을 공통된 컬럼 기준으로 연결하고, 필요한 조건을 걸어 결합된 데이터를 조회하는 실습을 진행했습니다.조인은 관계형 데이터베이스의 핵심 기능으로, 분리된 데이터 간의 연관성을 활용할 수 있게 합니다.📌 기본 형식SELECT [필드] FROM [테이블1]INNER JOIN [테이블2] ON [테이블1.필드] = [테이블2.필드]WHERE [조건]📌 예제 코드SELECT a.symbol, a.company_name, a.ipo_year, a.sector, a.industry, b.date, b.[open], b.[high], b.[low], b.[close], b.adj_close, ..

SQL Server 26강 - 날짜/시간 데이터 형식별 저장 결과 비교 (DATE, TIME, DATETIME, DATETIME2)

이번 글에서는 SQL Server에서 사용되는 주요 날짜 및 시간 관련 데이터 형식인 DATE, TIME, DATETIME, DATETIME2의 차이를 확인해 보았습니다.각 형식이 저장하는 정보와 정밀도 차이를 비교함으로써, 용도에 맞는 형식을 선택하는 기준을 익히는 것이 목적입니다.📌 예제 코드-- [1] 날짜/시간 컬럼을 포함한 테이블 생성CREATE TABLE date_table ( JustDate DATE, -- 날짜만 저장 JustTime TIME, -- 시간만 저장 JustDateTime DATETIME, -- 날짜 + 시간 (소수 초 단위 정밀도 제한) JustDateTime2 DATETIME2 -- 날짜 ..

SQL Server 25강 - 유니코드 없이 한글을 저장할 때 생기는 문제 (VARCHAR vs NVARCHAR)

이번 강의에서는 VARCHAR와 NVARCHAR의 차이를 실습을 통해 확인했습니다.한글과 같은 유니코드 문자를 저장할 때, 유니코드 지원 여부에 따라 어떻게 결과가 달라지는지를 비교해 보았습니다.📌 예제 코드-- [1] 유니코드 미지원/지원 컬럼으로 테이블 생성CREATE TABLE unicode_table ( col_1 VARCHAR(50), -- 유니코드 지원하지 않음 col_2 NVARCHAR(50) -- 유니코드 지원);-- [2] 한글 문자열 저장INSERT INTO unicode_table VALUES ('가', N'가');-- [3] 결과 확인SELECT * FROM unicode_table;-- [4] 실습 테이블 제거DROP TABLE unicode_table;..

SQL Server 24강 - 문자열 데이터 형식과 저장 공간 비교 (LEN, DATALENGTH)

이번 글에서는 SQL Server의 문자열 데이터 형식인 CHAR, VARCHAR, NCHAR, NVARCHAR가 실제로 얼마나 저장 공간을 차지하는지를 확인해 보았습니다.이를 통해 데이터 형식 선택이 저장 효율에 미치는 영향을 이해할 수 있습니다.📌 예제 코드-- [1] 문자열 형식별 테이블 생성CREATE TABLE char_table ( col_1 CHAR(50), -- 고정 길이, 영문 col_2 VARCHAR(50), -- 가변 길이, 영문 col_3 NCHAR(50), -- 고정 길이, 유니코드 col_4 NVARCHAR(50) -- 가변 길이, 유니코드);-- [2] 각 컬럼에 한 글자만 저장INSERT INTO char_table VAL..

SQL Server 23강 - SELECT INTO를 활용한 테이블 생성 및 데이터 복사

이번 글에서는 SELECT INTO 구문을 이용해 테이블을 새로 생성하면서 동시에 데이터를 복사하는 방법을 실습했습니다.이 방식은 기존 테이블의 구조와 데이터를 그대로 복제하거나, 조건에 맞는 데이터만 추출해 임시 테이블을 빠르게 생성할 때 매우 유용합니다.📌 예제 코드-- [1] 조건에 맞는 데이터를 새로운 테이블로 복사하며 테이블도 자동 생성SELECT * INTO doit_stock2 FROM stock WHERE symbol = 'MSFT' AND date >= '2021-01-01' AND date 💻 실행 결과 예시datesymbolopenhighlowcloseabj_closevolume2021-01-04MSFT220223217.5222.4222.4300000002021-01-05M..

SQL Server 22강 - 다른 테이블에서 조건부 데이터 복사하기

이번 강의에서는 기존 테이블의 데이터를 조건에 맞게 다른 테이블로 복사하고, 복사된 결과를 조회 및 삭제하는 과정을 실습했습니다.이는 데이터 분석, 백업, 테스트용 테이블 생성 등에서 매우 유용한 기법입니다.📌 예제 코드-- [1] 새로운 테이블 생성CREATE TABLE doit_stock ( date DATETIME, symbol NVARCHAR(255), [open] FLOAT, [high] FLOAT, [low] FLOAT, [close] FLOAT, abj_close FLOAT, volume BIGINT);-- [2] 기존 stock 테이블에서 조건에 맞는 데이터만 선택하여 복사INSERT INTO doit_stockSELECT * FROM stock..

SQL Server 21강 - 외래 키(Foreign Key) 설정과 참조 무결성

이번 글에서는 FOREIGN KEY 제약 조건을 이용해 두 테이블 간 관계를 연결하는 방법을 실습했습니다.외래 키는 한 테이블이 다른 테이블의 데이터를 참조하도록 만드는 제약 조건으로, 데이터 간의 일관성과 무결성을 유지하는 데 사용됩니다.📌 예제 코드-- [1] 부모 테이블 생성 (기준이 되는 테이블)CREATE TABLE doit_parent ( col_1 INT PRIMARY KEY);-- [2] 자식 테이블 생성 (참조하는 테이블)CREATE TABLE doit_child ( col_1 INT);-- [3] 외래 키 설정 (doit_child.col_1 → doit_parent.col_1 참조)ALTER TABLE doit_child ADD FOREIGN KEY (col_1) REFE..

SQL Server 20강 - 데이터 삭제 (DELETE 문)

이번 글에서는 테이블에서 특정 행을 삭제하거나 전체 데이터를 제거하는 방법인 DELETE 문을 실습했습니다.데이터 삭제는 신중하게 다루어야 할 작업이며, 조건 유무에 따라 결과가 크게 달라집니다.📌 예제 코드-- [1] 특정 조건(col_1이 4)에 해당하는 데이터 삭제DELETE doit_dml WHERE col_1 = 4;-- [2] 테이블의 모든 데이터 삭제DELETE doit_dml;💻 실행 결과 예시첫 번째 쿼리는 col_1이 4인 한 개의 행을 삭제합니다.두 번째 쿼리는 테이블 doit_dml에 있는 모든 행을 삭제합니다.단, 테이블 자체는 삭제되지 않으며, 구조는 그대로 유지됩니다.💬 코드 설명DELETE FROM [테이블] WHERE [조건]: 조건에 맞는 행만 삭제DELETE FRO..

반응형