SQL Server 80

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' 앞뒤에 어떤 문자가 오더..

SQL Server 9강 - 문자 집합 패턴 검색 (LIKE와 [], [^])

이번 글에서는 LIKE 절에서 사용하는 대괄호 문자 집합 표현을 학습했습니다.대괄호를 활용하면 특정 문자 집합이나 범위에 해당하는 값을 필터링할 수 있으며, ^ 기호를 사용해 부정 조건도 설정할 수 있습니다.📌 예제 코드-- 두 번째 문자가 A, B, C 중 하나인 경우SELECT * FROM nasdaq_company WHERE symbol LIKE 'A[A, B, C]';-- 두 번째 문자가 A부터 C 사이인 경우 (A, B, C)SELECT * FROM nasdaq_company WHERE symbol LIKE 'A[A-C]';-- 두 번째 문자가 A-C 또는 G 또는 M-R인 경우SELECT * FROM nasdaq_company WHERE symbol LIKE 'A[A-C, G, M-R]';-..

SQL Server 8강 - 단일 문자 패턴 검색 (LIKE와 _)

이번 글에서는 LIKE 연산자에서 한 글자 단위의 패턴 검색을 가능하게 해주는 _ 와일드카드 문자를 학습했습니다.이 문법은 정확한 위치에서 글자 수를 제한하면서 특정 조건에 맞는 문자열을 필터링할 때 사용됩니다.📌 예제 코드-- 'A'로 시작하고 그 뒤에 글자 1개SELECT * FROM nasdaq_company WHERE symbol LIKE 'A_';-- 'A'로 끝나고 그 앞에 글자 1개SELECT * FROM nasdaq_company WHERE symbol LIKE '_A';-- 'A'로 시작하고, 2글자가 더 있고, 'C'로 끝나는 4글자 심볼SELECT * FROM nasdaq_company WHERE symbol LIKE 'A__C';-- 'A'로 시작하고, 1글자 뒤에 'C', 그 뒤..

SQL Server 7강 - 문자열 패턴 검색 (LIKE, NOT LIKE)

이번 글에서는 SQL에서 문자열을 조건으로 검색할 때 사용하는 LIKE 연산자와 와일드카드 문자 %의 활용법에 대해 배웠습니다.특정 문자로 시작하거나 끝나는 데이터를 필터링하거나, 부분 일치 검색을 구현할 수 있습니다.📌 예제 코드-- 'A'로 시작하는 심볼SELECT * FROM nasdaq_company WHERE symbol LIKE 'A%';-- 'AA'로 시작하는 심볼SELECT * FROM nasdaq_company WHERE symbol LIKE 'AA%';-- 'A'로 끝나는 심볼SELECT * FROM nasdaq_company WHERE symbol LIKE '%A';-- 'AA'로 끝나는 심볼SELECT * FROM nasdaq_company WHERE symbol LIKE '%AA..

반응형