2025/06/04 17

SQL Server 연습문제 - JOIN, 서브쿼리, NOT EXISTS 실습

📖 문제 1industry_group 테이블에서 industry 값이 'Oil'인 항목의 symbol을industry_group_symbol 테이블에서 찾고,해당 symbol의 company_name을 nasdaq_company 테이블에서 조회하세요.📌 예제 정답SELECT c.company_nameFROM industry_group AS aINNER JOIN industry_group_symbol AS b ON a.num = b.numINNER JOIN nasdaq_company AS c ON b.symbol = c.symbolWHERE a.industry = 'Oil';💬 해설다중 INNER JOIN을 이용해 세 개의 테이블을 연결했습니다.industry가 'Oil'인 num을 기준으로 symb..

[ 35일차 28~42 ] 수업 정리 - SQL

📌 오늘의 주제다중 INNER JOIN (2개/3개 테이블)OUTER JOIN (LEFT, RIGHT, FULL)CROSS JOIN서브쿼리 (단일행, 다중행, 상관 서브쿼리)ANY / EXISTS / NOT EXISTS 사용법💻 주요 예제 요약다중 INNER JOIN (2개 테이블)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'다중 INNER JOIN (3개 테이블)select a.industry, c.symbol, c.company_name, c.ipo..

국비 2025.06.04

SQL Server 42강 - 문자열 대소문자 변환 함수

이번 글에서는 SQL에서 자주 사용되는 대소문자 변환 함수인LOWER()와 UPPER()에 대해 학습했습니다.이 함수들은 주로 검색, 정렬, 비교, 출력 포맷 제어 시 유용하게 사용됩니다.📌 예제 코드SELECT 'Do it! SQL' AS normal, LOWER('Do it! SQL') AS [lower], UPPER('Do it! SQL') AS [upper];💻 실행 결과normallowerupperDo it! SQLdo it! sqlDO IT! SQL💬 코드 설명'Do it! SQL' : 원본 문자열LOWER() : 모든 알파벳을 소문자로 변환UPPER() : 모든 알파벳을 대문자로 변환💡 포인트 정리LOWER(문자열) → 소문자로 변환UPPER(문자열) → 대문자로..

SQL Server 41강 - 묵시적 형변환과 명시적 변환 혼합 사용

이번 글에서는 SQL Server가 자동으로 수행하는 묵시적 형변환과그로 인해 발생할 수 있는 오류 또는 비의도적 결과를 확인하고,명시적 형변환을 적절히 활용하는 방법까지 실습해 보았습니다.📌 예제 코드 ①: 묵시적 형변환이 포함된 문자열 결합SELECT CONVERT(nvarchar(50), ipo_year) + ' ' + open_priceFROM nasdaq_company WHERE symbol = 'MSFT';💬 설명CONVERT(nvarchar, ipo_year)는 명시적 문자열 변환open_price는 float형이지만 문자열과 + 연산을 하므로 자동으로 문자열로 묵시적 변환이런 경우, SQL Server가 내부적으로 형을 변환하여 결과를 문자열로 반환📌 예제 코드 ②: 날짜형 컬럼 확인..

SQL Server 40강 - 형변환 함수 CAST()와 CONVERT()

이번 글에서는 숫자형 데이터를 문자열로 변환하는 CAST()와 CONVERT() 함수의 사용법을 익혔습니다.특히 형변환 시 주의해야 할 문자열 길이 초과에 따른 오류 상황도 함께 실습했습니다.📌 예제 코드 ①: CAST() 함수 사용SELECT CAST(ipo_year AS nvarchar(50)) + ' ' + CAST(open_price AS nvarchar(50)) FROM nasdaq_company WHERE symbol = 'MSFT';💬 설명ipo_year과 open_price는 숫자형이므로 문자열로 변환 후 결합해야 함CAST()는 표준 SQL이며 다양한 DBMS에서 동일하게 사용 가능+ 연산자로 문자열을 연결하기 위해 nvarchar로 명시적 형변환 수행📌 예제 코드 ②: CO..

SQL Server 39강 - 문자열 함수와 문자열 결합 방식

이번 글에서는 SQL Server에서 문자열을 다루는 함수와 연산자를 사용하여문자 데이터끼리 결합하거나, 문자열과 숫자형의 혼합 처리에 대한 동작을 실습했습니다.📌 예제 코드 ①: 문자열 결합 연산자 (+)SELECT symbol + ' : ' + company_name AS company FROM nasdaq_company;💬 설명+ 연산자를 사용하여 문자열을 이어붙임symbol과 company_name 사이에 ' : ' 구분자를 넣어 새로운 문자열 생성문자열 형식이 아닌 값이 들어있을 경우 오류 발생 가능📌 예제 코드 ②: CONCAT() 함수SELECT CONCAT('I ', 'Love', 'SQL');SELECT CONCAT(symbol, ' : ', company_name) AS compa..

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

반응형