1. 기본 구문:
SELECT <col> FROM [table] WHERE <col> = [value] ORDER BY [col] [ASC, DESC]
SELECT TOP N <col> FROM [table] WHERE <col> = [value] ORDER BY [col] [ASC, DESC] #상위 N개
SELECT <aggregate function> <col> FROM [table] GROUP BY <col> ORDER BY [col] [ASC, DESC]
SELECT <aggregate function> <col> FROM [table] WHERE <col> = [value] GROUP BY <col>
HAVING [aggfunc] <col>] = <value>
DISTICT 중복 제거, 계산은 시행하지 않음 VS GROUP BY 중복 제거, 계산 시행
특정구간 데이터 검색: OFFSET(몇 번째부터 시작)과 FETCH NEXT(다음 어디서부터)[OFFSET과 함께 사용]
-- 기본 문법
SELECT * FROM nasdaq_company
ORDER BY symbol DESC
SELECT * FROM nasdaq_company
ORDER BY ipo_year
-- SECTOR, INDUSTY 순으로 빈값이 없는 것 정렬
SELECT * FROM nasdaq_company
WHERE sector IS NOT NULL AND sector <>''
ORDER BY sector, industry
-- SECTOR, INDUSTY 순으로 빈값이 없는 것 정렬
SELECT * FROM nasdaq_company
WHERE sector IS NOT NULL AND sector <>''
ORDER BY sector, industry
SELECT TOP 10 * FROM nasdaq_company ORDER BY symbol DESC
USE DoItSQL;
WITH CTE (COL1) AS(
SELECT N'ABC' UNION ALL
SELECT N'123' UNION ALL
SELECT N'가나다'
)
SELECT * FROM CTE
ORDER BY COL1 ASC
--데이터 건너뛰고 보기
SELECT * FROM nasdaq_company ORDER BY symbol ASC
OFFSET 1000 ROWS
--1001번부터 1010번
SELECT * FROM nasdaq_company ORDER BY symbol ASC
OFFSET 1000 ROWS
FETCH NEXT 10 ROWS ONLY
--GROUP BY 칼럼이 SELECT에 포함되어 있어야함(*불가)
SELECT SECTOR FROM nasdaq_company
GROUP BY sector ORDER BY sector
SELECT sector, industry FROM nasdaq_company
GROUP BY sector, industry ORDER BY sector, industry
--집계함수 사용
SELECT sector, count(*) AS CNT FROM nasdaq_company
GROUP BY sector ORDER BY sector
--10건 이상 데이터 조회, HAVING절 별칭 사용 불가
SELECT sector, industry, count(*) AS CNT FROM nasdaq_company
GROUP BY sector, industry HAVING count(*) >=10 ORDER BY CNT DESC
--DISTINCT, 집계함수 사용 시 GROUP BY 사용
SELECT DISTINCT sector as CNT FROM nasdaq_company
'SQL > SQL 기본' 카테고리의 다른 글
SQL기본(6): JOIN(INNER, OUTER, CROSS) (0) | 2023.08.22 |
---|---|
SQL 기본(5): MSSQL 자료형 형변환과 유니코드 필요성 (0) | 2023.08.21 |
SQL 기본(4): 테이블 생성과 제약 조건, 임시 테이블 개념 (0) | 2023.08.18 |
SQL 기본(2): 와일드 카드(문법 간 조합 가능) (0) | 2023.08.17 |
SQL 기본(1): SELECT, WHERE, 기타 연산자 (0) | 2023.08.16 |