2025/05 194

SQL Server 연습문제 - 연도 및 섹터별 symbol 수 집계 및 조건 필터링

📖 문제 1nasdaq_company 테이블에서 ipo_year(상장 연도)를 기준으로, 등록된 symbol의 개수를 조회하세요. 결과는 ipo_year를 기준으로 내림차순 정렬하세요.📦 예제 테이블 정보CREATE TABLE nasdaq_company ( symbol VARCHAR(10), company_name VARCHAR(100), ipo_year INT, last_crawel_date DATETIME, close_price DECIMAL(10, 2), sector VARCHAR(100));📌 예제 정답SELECT ipo_year, COUNT(symbol) AS symbol_countFROM nasdaq_companyGROUP BY ipo_yearORDER BY ipo_year D..

[ 33일차 2~13 ] 수업 정리 - SQL

🖥️ 수업 개요오늘은 SQL에서 정렬, 패턴 검색, 상위 N개 출력, OFFSET, 그리고 그룹화(Group By) 기능을 중심으로 학습하였습니다. 특히 LIKE, ORDER BY, TOP, OFFSET, GROUP BY, HAVING 절의 실습을 통해 다양한 형태의 데이터 필터링과 집계 방법을 배웠습니다.📌 주요 실습 정리🔍 NULL 조건 조회SELECT * FROM nasdaq_company WHERE sector IS NULL;SELECT * FROM nasdaq_company WHERE sector IS NOT NULL;🔽 정렬 (ORDER BY)SELECT * FROM nasdaq_company ORDER BY symbol;SELECT * FROM nasdaq_company ORDER B..

국비 2025.05.30

SQL Server 13강 - DISTINCT vs GROUP BY

이번 글에서는 SQL에서 중복을 제거하는 두 가지 방법, DISTINCT와 GROUP BY에 대해 학습했습니다.두 구문 모두 중복 데이터를 제거하는 데 사용되지만, 용도와 특징에는 차이점이 있습니다.📌 예제 코드-- 중복 제거된 sector, industry 조합 조회 (단순 추출)SELECT DISTINCT sector, industry FROM nasdaq_company;-- 그룹화된 sector, industry 조합 조회 (집계 가능)SELECT sector, industry FROM nasdaq_company GROUP BY sector, industry;💻 실행 결과 예시위 두 쿼리는 결과만 보면 거의 동일해 보일 수 있지만, 실제로는 의미와 사용 용도가 다릅니다.첫 번째 쿼리는 secto..

SQL Server 12강 - 그룹 조건 필터링 (HAVING 절)

이번 글에서는 그룹화된 데이터에 조건을 적용할 때 사용하는 HAVING 절을 학습했습니다.HAVING은 WHERE과 비슷하지만, 집계 결과나 그룹 단위에 조건을 걸 때 사용됩니다.📌 예제 코드-- 그룹화 후 industry가 'Advertising'인 경우만 출력SELECT sector, industry FROM nasdaq_company GROUP BY sector, industry HAVING industry = 'Advertising';-- sector별 기업 수가 1000개를 초과하는 경우만 출력SELECT sector, COUNT(*) AS cnt FROM nasdaq_company GROUP BY sector HAVING COUNT(*) > 1000;-- industry가 'Advertisi..

SQL Server 11강 - 그룹별 데이터 개수 집계 (GROUP BY + COUNT())

이번 글에서는 GROUP BY와 함께 집계 함수 COUNT()를 사용하여, 각 그룹에 속한 행의 개수를 구하는 방법을 실습했습니다.특정 조건별로 데이터 분포를 분석하거나, 분류별 수량을 파악할 때 매우 유용한 문법입니다.📌 예제 코드-- 각 sector별 기업 수를 계산SELECT sector, COUNT(*) AS cnt FROM nasdaq_company GROUP BY sector;-- sector와 industry 조합별 기업 수를 계산SELECT sector, industry, COUNT(*) AS cnt FROM nasdaq_company GROUP BY sector, industry ORDER BY sector, industry;💻 실행 결과 예시위 쿼리는 nasdaq_company 테이..

SQL Server 오류 분석 - GROUP BY 절에서 SELECT *가 안 되는 이유

SQL Server에서 코드를 짜다보면 SELECT * FROM 테이블 GROUP BY 필드가 안되는 것을 확인할 수 있습니다.select * from 테이블 group by 필드이 실행되지 않는 이유는 다음과 같습니다.❌ 이유: GROUP BY를 사용할 때 SELECT *는 허용되지 않음SQL Server에서는 GROUP BY를 사용할 경우, SELECT 절에 포함된 컬럼들은 반드시 GROUP BY에 포함되거나, 집계 함수(예: COUNT(), SUM(), MAX() 등)를 사용해야 합니다.하지만 SELECT *는 모든 컬럼을 선택하는 것이기 때문에, GROUP BY sector만 사용하고 다른 컬럼들에 대해 아무런 처리도 하지 않으면 오류가 납니다.✅ 해결 방법 1: 집계 함수 사용예를 들어, sec..

SQL Server 10강 - 데이터 그룹화 (GROUP BY)

이번 글에서는 SQL의 GROUP BY 구문을 통해 데이터를 특정 컬럼 기준으로 그룹화하는 방법을 학습했습니다.이 기능은 주로 통계 분석, 분류, 요약 집계를 할 때 사용됩니다.📌 예제 코드-- sector 컬럼 기준으로 그룹화 (중복 제거)SELECT sector FROM nasdaq_company GROUP BY sector;-- industry 컬럼 기준으로 그룹화SELECT industry FROM nasdaq_company GROUP BY industry;-- sector, industry 두 컬럼을 기준으로 그룹화SELECT sector, industry FROM nasdaq_company GROUP BY sector, industry;-- industry, sector 순서로 그룹화 (컬럼..

SQL Server 연습문제 - 복합 조건 + 다중 정렬 쿼리 작성하기

📖 문제nasdaq_company 테이블에서 다음 조건을 만족하는 회사를 조회하는 SQL문을 작성하세요.close_price가 10 이상 20 이하company_name에 'A'가 포함되지 않음ipo_year가 2017년 이상결과는 close_price는 내림차순, ipo_year는 오름차순으로 정렬📦 예제 테이블 정보CREATE TABLE nasdaq_company ( symbol VARCHAR(10), company_name VARCHAR(100), ipo_year INT, last_crawel_date DATETIME, close_price DECIMAL(10, 2));📌 예제 정답SELECT * FROM nasdaq_companyWHERE close_price BETWEEN 10 A..

SQL Server 연습문제 - LIKE 와일드카드로 특정 문자 포함된 패턴 검색하기

📖 문제nasdaq_company 테이블에서 symbol이 'AA'로 시작하면서 'L' 또는 'Q'가 그 뒤에 오는 회사를 조회하는 SQL문을 작성하세요.📦 예제 테이블 정보CREATE TABLE nasdaq_company ( symbol VARCHAR(10), company_name VARCHAR(100), ipo_year INT, last_crawel_date DATETIME);📌 예제 정답SELECT * FROM nasdaq_companyWHERE symbol LIKE 'AA[L,Q]%';💬 해설LIKE 'AA[L,Q]%'는 symbol이 'AA'로 시작하고, 그 뒤에 'L' 또는 'Q' 중 하나가 나오는 문자열을 찾는 조건입니다.대괄호 [L,Q]는 문자 클래스(문자 집합)를 의미하며..

SQL Server 연습문제 - company_name에 'apple'이 포함된 데이터 조회하기

📖 문제nasdaq_company 테이블에서 company_name에 'apple'이라는 글자가 포함된 회사를 조회하는 SQL문을 작성하세요.📦 예제 테이블 정보CREATE TABLE nasdaq_company ( symbol VARCHAR(10), company_name VARCHAR(100), ipo_year INT, last_crawel_date DATETIME);📌 예제 정답SELECT * FROM nasdaq_companyWHERE company_name LIKE '%apple%';💬 해설LIKE '%apple%' 조건은 company_name 컬럼에 'apple'이라는 단어가 포함된 경우를 찾습니다.%는 0개 이상의 임의 문자를 의미하므로, 'apple' 앞뒤에 어떤 문자가 오더..

반응형