SQL Server 80

SQL Server 38강 - JOIN vs 서브쿼리를 통한 컬럼 병합 방식 비교

이번 글에서는 동일한 데이터를 조회할 때JOIN을 사용하는 방법과 각 열마다 SELECT 서브쿼리를 사용하는 방법의 차이를 비교해보았습니다.두 방식은 결과는 같을 수 있으나, 성능과 가독성, 유지보수 측면에서 차이를 가집니다.📌 예제 코드 ①: INNER JOIN 방식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, b.volumeFROM nasdaq_company AS aINNER JOIN stock AS b ON a.symbol = b.symbolWHERE a.symbol = 'MSFT' AND b.d..

SQL Server 37강 - 서브쿼리를 활용한 INNER JOIN 비교 실습

이번 글에서는 두 가지 방식의 INNER JOIN을 실습했습니다.하나는 일반적인 JOIN 방식, 다른 하나는 서브쿼리를 JOIN에 사용하는 방식입니다.둘 모두 동일한 결과를 만들 수 있지만, 복잡한 조건을 분리해 명확하게 표현할 때 서브쿼리 방식이 유용합니다.📌 예제 코드 ①: 기본 INNER JOIN 방식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, b.volumeFROM nasdaq_company AS aINNER JOIN stock AS b ON a.symbol = b.symbolWHERE a.symbol..

SQL Server 36강 - EXISTS 와 NOT EXISTS 서브쿼리

이번 글에서는 EXISTS, NOT EXISTS를 사용하여 서브쿼리 결과가 존재하는지에 따라 조건을 판단하는 방법을 배웠습니다.이 문법은 "특정 조건을 만족하는 데이터가 있는가?"를 확인하는 데 매우 효과적입니다.📌 예제 코드 ①: EXISTS가 참일 때SELECT * FROM nasdaq_companyWHERE EXISTS ( SELECT symbol FROM nasdaq_company WHERE symbol IN ('MSFT', 'AMD', 'AMZN'));💬 설명서브쿼리가 하나 이상의 결과를 반환하면 EXISTS는 TRUE결과적으로 nasdaq_company 테이블의 모든 행이 반환됨이 조건문은 단순히 서브쿼리 결과의 유무만 판단하고, 메인 쿼리와의 연결 조건은 없음📌 예제..

SQL Server 35강 - ANY 연산자를 활용한 조건 비교 서브쿼리

이번 글에서는 ANY 키워드를 이용하여 서브쿼리 결과 중 하나라도 조건을 만족하면 TRUE가 되는 비교 방식을 실습했습니다.ANY는 다중 결과를 반환하는 서브쿼리와 함께 사용되는 연산자로, IN과 비슷하지만 비교 연산자와 함께 사용 가능하다는 차이가 있습니다.📌 예제 코드 ①: = + ANYSELECT * FROM nasdaq_companyWHERE symbol = ANY ( SELECT symbol FROM nasdaq_company WHERE symbol IN ('MSFT', 'AMD', 'AMZN'));💬 설명서브쿼리의 결과 중 하나라도 symbol과 같으면 참사실상 IN ('MSFT', 'AMD', 'AMZN')과 같은 효과📌 예제 코드 ②: SELECT * FROM na..

SQL Server 34강 - IN 서브쿼리와 조인을 결합한 조건 필터링

이번 글에서는 IN을 활용한 서브쿼리와 조인 연산을 결합하여특정 조건을 만족하는 데이터를 포함하거나 제외하여 필터링하는 방법을 실습했습니다.또한 INNER JOIN 내에서도 IN을 사용할 수 있는 상황을 테스트했습니다.📌 예제 코드 ①: INNER JOIN과 IN 조건 병용SELECT a.industry, c.symbol, c.company_name, c.ipo_year, c.sectorFROM industry_group AS aINNER JOIN industry_group_symbol AS b ON a.num IN (b.num)INNER JOIN nasdaq_company AS c ON b.symbol IN (c.symbol)WHERE a.industry IN..

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에 같은..

반응형