반응형
📖 문제 1
nasdaq_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_count
FROM nasdaq_company
GROUP BY ipo_year
ORDER BY ipo_year DESC;
💬 해설
- GROUP BY ipo_year를 통해 각 연도별로 데이터를 묶습니다.
- COUNT(symbol)은 해당 연도에 상장된 기업 수를 계산합니다.
- ORDER BY ipo_year DESC는 최근 연도부터 결과를 정렬합니다.
💡 학습 포인트
- GROUP BY는 데이터를 특정 기준으로 묶을 때 사용
- COUNT()는 각 그룹 내의 데이터 개수를 구함
- ORDER BY는 정렬 기준을 지정 (DESC: 내림차순)
📖 문제 2
nasdaq_company 테이블에서 IPO 연도별로 symbol 개수가 20개 이상인 sector 목록을 조회하세요. 결과는 symbol 개수가 많은 순서(내림차순)로 정렬하세요.
📦 예제 테이블 정보
-- 위와 동일한 테이블 구조 사용
📌 예제 정답
SELECT sector, ipo_year, COUNT(symbol) AS symbol_count
FROM nasdaq_company
GROUP BY sector, ipo_year
HAVING COUNT(symbol) >= 20
ORDER BY COUNT(symbol) DESC;
💬 해설
- GROUP BY sector, ipo_year는 섹터와 연도를 묶어 그룹화합니다.
- COUNT(symbol)로 각 그룹에서 symbol 수를 집계합니다.
- HAVING COUNT(symbol) >= 20은 그룹화된 결과 중 20개 이상인 그룹만 필터링합니다.
- ORDER BY COUNT(symbol) DESC는 개수가 많은 순으로 정렬합니다.
💡 학습 포인트
- HAVING은 GROUP BY 이후의 집계 결과에 조건을 걸 때 사용
- GROUP BY는 여러 컬럼 조합으로도 가능
- 집계 함수(COUNT, SUM, 등)와 조건 필터링을 조합하는 것이 핵심
'SQL Server > 연습문제' 카테고리의 다른 글
SQL Server 연습문제 - 특정 연도 주문 합계 조건으로 고객 정보 조회하기 (HAVING, INNER JOIN) (0) | 2025.06.10 |
---|---|
SQL Server 연습문제 - JOIN, 서브쿼리, NOT EXISTS 실습 (0) | 2025.06.04 |
SQL Server 연습문제 - 테이블 생성, 데이터 삽입/수정/삭제 실습 (0) | 2025.06.02 |
SQL Server 연습문제 - 복합 조건 + 다중 정렬 쿼리 작성하기 (0) | 2025.05.30 |
SQL Server 연습문제 - LIKE 와일드카드로 특정 문자 포함된 패턴 검색하기 (0) | 2025.05.30 |
SQL Server 연습문제 - company_name에 'apple'이 포함된 데이터 조회하기 (0) | 2025.05.30 |