SQL Server 71

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

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

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

반응형