1) [열]: 정렬할 열 이름을 입력한다.
2) [ASC,DESC]: 정렬 기준에 따라 오름차순, 내림차순을 정의한다
SELECT * FROM nasdaq_company ORDER BY symbol
SELECT * FROM nasdaq_company ORDER BY company_name
===================================================================
열을 2개 이상 기준으로 정렬할 때는 정렬 순서에 따라 쉼표를 사용해 열 이름을 나열한다.
이때 열 입력 순서에 따라 정렬 우선순위가 정해지므로 열 입력 순서에 주의하자.
SELECT * FROM nasdaq_company
WHERE sector IS NOT NULL AND sector <> ''
ORDER BY sector, industry
이렇게 하면 sector 열에 같은 값이 있는 경우 industry 열의 값으로 정렬한다
정렬 순서가 다르면 결과도 다르게 표시 됨 :
SELECT * FROM nasdaq_company
WHERE sector IS NOT NULL AND sector <> ''
ORDER BY industry, sector
*<> : not equal to
For example, in the condition sector <> '', it checks if the value of the sector column is not an empty string. If the sector column is not empty, the condition evaluates to true.
Similarly, in the condition sector IS NOT NULL, it checks if the value of the sector column is not null. If the sector column has a non-null value, the condition evaluates to true.
In the given SQL query, the <> operator is used in the WHERE clause to filter rows from the nasdaq_company table. It ensures that only rows with a non-null and non-empty sector value are included in the result set.
==============================
ASC으로 오름차순 정렬하기
SELECT * FROM nasdaq_company
ORDER BY symbol ASC
SELECT * FROM nasdaq_company
ORDER BY symbol DESC
====================================================================
오름차순과 내림차순을 조합해 정렬하기
SELECT * FROM nasdaq_company
WHERE sector IS NOT NULL AND sector <> ''
ORDER BY sector ASC, symbol DESC
==================================================================
SELECT TOP 10 * FROM nasdaq_company
ORDER BY ipo_year DESC, symbol ASC
※상위 N개의 데이터를 검색할 때는 반드시 ORDER BY 문을 사용하는 것이 좋다. 정렬하지 않으면 어떤 값을 기준으로 정렬한 상위 N개의 데이터가 출력되었는지 알 수 없기 때문이다.
====================================================================
ORDER BY로 데이터를 정렬한 다음, 상위나 하위가 아닌 특정 구간의 데이터를 검색해야 하는 경우
예) 2페이지나 3페이지에 있는 데이터를 보고 싶은 경우
OFFSET은 검색결과에서 지정한 행 개수만큼 건너뛰고 출력
그냥 출력
!1000개의 데이터를 건너뛰고 출력
SELECT * FROM nasdaq_company
ORDER BY symbol
OFFSET 1000 ROWS
조건 없이 출력한 결과의 1,001번째 데이터가 OFFSET조건을 넣어 출력한 결과의 1번째 데이터
※※※ 반드시 ORDER BY문을 함께 사용 ※※※
출력할 행의 개수를 지정 할 수 있음
예) 한 페이지에 10개만 보여주는 기능과 같음
SELECT * FROM nasdaq_company
ORDER BY symbol
OFFSET 1000 rows
FETCH NEXT 10 ROWS ONLY
====================================================================
퀴즈 4.
SELECT * FROM nasdaq_company
WHERE ipo_year = 2021
AND sector = 'Finance'
ORDER BY industry ASC, close_price DESC