SQL Server 71

SQL Server 33강 - 단일행 서브쿼리 (Single Row Subquery) 사용하기

이번 글에서는 서브쿼리(Subquery) 중에서도 하나의 값만 반환하는 단일행 서브쿼리를 활용하여메인 쿼리의 WHERE 조건절에 하나의 값을 동적으로 대입하는 실습을 진행했습니다.📌 예제 코드 ①SELECT * FROM nasdaq_companyWHERE symbol = ( SELECT symbol FROM nasdaq_company WHERE symbol IN ('MSFT'));💬 설명내부 서브쿼리는 'MSFT'만 포함된 symbol을 반환외부 쿼리는 해당 symbol과 일치하는 데이터를 조회서브쿼리 결과가 단 하나의 값만 반환되므로 = 연산자 사용 가능📌 예제 코드 ②SELECT * FROM nasdaq_companyWHERE symbol = ( SELECT symbol..

SQL Server 32강 - 모든 행의 조합을 반환하는 CROSS JOIN

이번 글에서는 CROSS JOIN을 사용하여 두 테이블의 가능한 모든 조합을 생성하는 실습을 진행했습니다.이는 두 테이블 간 모든 경우의 수를 확인하거나, 반복 결합이 필요한 상황에서 활용할 수 있습니다.📌 예제 코드-- [1] 실습용 테이블 생성USE DoItSQL;CREATE TABLE doit_cross1 (num INT);CREATE TABLE doit_cross2 (num NVARCHAR(10));-- [2] 데이터 삽입INSERT INTO doit_cross1 VALUES (1), (2), (3);INSERT INTO doit_cross2 VALUES ('Do'), ('It'), ('SQL');-- [3] CROSS JOIN: 가능한 모든 조합 출력SELECT a.num, b.numFR..

SQL Server 31강 - 양쪽 테이블 모두 포함하는 FULL OUTER JOIN

이번 글에서는 FULL OUTER JOIN을 사용하여 양쪽 테이블(industry_group_symbol, nasdaq_company)의 모든 데이터를 포함하는 조인 방식을 실습했습니다.이 방식은 두 테이블 중 어디에도 매칭되지 않는 데이터를 포함한 전체 비교가 필요할 때 유용합니다.📌 예제 코드 ①: 전체 조인 결과 확인SELECT a.symbol AS a_symbol, b.symbol AS b_symbolFROM industry_group_symbol AS aFULL OUTER JOIN nasdaq_company AS b ON a.symbol = b.symbol;💬 설명industry_group_symbol과 nasdaq_company 테이블을 symbol 기준으로 결합양쪽 테..

SQL Server 30강 - 오른쪽 기준 조인 RIGHT JOIN

이번 강의에서는 RIGHT JOIN(또는 RIGHT OUTER JOIN)을 사용하여 오른쪽 테이블(nasdaq_company)을 기준으로두 테이블을 연결하고, 조인 여부에 따라 데이터를 확인하는 방법을 실습했습니다.📌 예제 코드 ①: RIGHT JOIN 기본SELECT a.symbol AS a_symbol, b.symbol AS b_symbolFROM industry_group_symbol AS aRIGHT OUTER JOIN nasdaq_company AS b ON a.symbol = b.symbol;💬 설명nasdaq_company의 모든 symbol을 무조건 포함industry_group_symbol에 같은 symbol이 있으면 a_symbol로 표시조인되지 않은 경우에는 a_..

SQL Server 29강 - 기준 테이블을 기준으로 연결하는 LEFT JOIN

이번 글에서는 LEFT JOIN(또는 LEFT OUTER JOIN)을 사용하여 두 테이블을 연결하되, 왼쪽 테이블(nasdaq_company)의 모든 데이터를 포함한 상태에서오른쪽 테이블(industry_group_symbol)과의 연결 여부를 확인하는 방법을 실습했습니다.📌 예제 코드 ①: LEFT JOIN 기본SELECT a.symbol AS a_symbol, b.symbol AS b_symbolFROM nasdaq_company AS aLEFT OUTER JOIN industry_group_symbol AS b ON a.symbol = b.symbol;💬 설명nasdaq_company 테이블의 모든 symbol 값을 기준으로 삼고,industry_group_symbol에 같은..

SQL Server 28강 - 다중 INNER JOIN을 활용한 테이블 결합

이번 글에서는 두 개 또는 세 개의 테이블을 INNER JOIN으로 동시에 연결하여 데이터를 조회하는 방법을 실습했습니다.테이블 간의 관계를 명확히 이해하고, 올바른 조인 조건을 설정하는 것이 핵심입니다.📌 예제 코드 ①: 두 테이블 조인 (nasdaq_company + stock)-- 두 테이블을 symbol 및 날짜로 연결SELECT a.symbol, a.last_crawel_date, b.dateFROM nasdaq_company AS aINNER JOIN stock AS b ON a.symbol = b.symbol AND a.last_crawel_date = b.dateWHERE a.symbol = 'MSFT';💬 설명nasdaq_company 테이블의 symbo..

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..

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;..

반응형