ORDER BY 문
SELECT [열] FROM [테이블] WHERE [열] = [조건값] ORDER BY [열] [ASC, DESC]
-- ORDER BY <col> ....<col n> 명시한 컬럼 순서대로 정렬, ASC(오름) DESC(내림)
select * from nasdaq_company ORDER BY symbol desc
해석: nasdaq_company 테이블에서 모든 열을 불러오는 데, 그 중에서 심볼 열을 역순으로 정렬하겠다.
select * from nasdaq_company ORDER BY ipo_year desc, symbol ASC
해석: nasdaq_company 테이블에서 모든 열을 불러오는 데, ipo_year년도는 내림차순으로, 심볼은 오름차순으로 정렬하겠다
select * from nasdaq_company where sector is not null and sector <> '' ORDER BY sector, industry
해석: nasdaq_company 테이블에서 모든 열을 불러오는 데, sector 가 NULL이 아니고 sector에 공백이 없어야 하며, sector를 정렬한 뒤에 industry를 정렬하겠다
TOP 으로 상위 N개 데이터 검색하기
select TOP 10 * from nasdaq_company ORDER BY ipo_year desc, symbol ASC
해석: nasdaq_company 테이블에서 상위 10개 행을 불러오는데, ipo_year년도는 내림차순으로, 심볼은 오름차순으로 정렬하겠다.
*상위 N개의 데이터를 검색할 때 반드시 ORDER BY문을 사용하는 것이 좋다. 또한, 테이블에 어떤 데이터가 있는지 확인하는 데 자주 사용된다.
OFFSET --- FETCH NEXT로 지정한 개수만큼 행 건너뛰고 검색하기
select * from nasdaq_company order by symbol offset 1000 rows
해석: nasdaq_company 테이블에서 모든 열을 불러오는 데 symbol을 기준으로 정렬한 다음 1000개의 데이터를 건너뛰고 1001번째 행부터 출력하겠다.
*주의: offset은 order by와 함께 사용한다.
select * from nasdaq_company order by symbol offset 1000 rows fetch next 10 rows only
해석: nasdaq_company 테이블에서 모든 열을 불러오는 데 symbol을 기준으로 정렬한 다음 1000개의 데이터를 건너뛰고 1001번째 행부터 다음 1010번째까지 행만 출력하겠다.
퀴즈4. nasdaq_company 테이블에서 ipo_year 열이 2021인 데이터 중에서 sector 열이 Finance인 데이터를 검색해서
industry는 오름차순으로 정렬하고 같은 industry일 경우 close_price가 높은 순으로 출력하세요.
select * from nasdaq_company where ipo_year = 2021 and sector = 'Finance'
order by industry asc, close_price desc
'IT Story > SQL Story' 카테고리의 다른 글
조인(Join): 내부 조인 (0) | 2022.11.28 |
---|---|
SQL 시작하기: CREATE 문 (0) | 2022.11.24 |
SQL 시작하기: GROUP BY 문과 HAVING 문 (0) | 2022.11.24 |
SQL 시작하기: WHERE 문 (0) | 2022.11.24 |
SQL (0) | 2022.11.24 |