ORDER BY
- 출력되는 결과 순서를 정렬 합니다.
- ORDER BY절은 WHERE절 다음에 나와야 합니다.
SELECT mem_id, mem_name, height FROM member ORDER BY height;
& 오름차순 정렬하기
- 뒷부분에 ASC를 붙여주시면 됩니다.
- ASC는 Ascending의 약자로 오름차순을 뜻합니다.
SELECT mem_id, mem_name, height FROM member ORDER BY height ASC;
& 내림차순 정렬하기
- 뒷부분에 DESC를 붙여주시면 됩니다.
- DESC는 Descending의 약자로 내림차순을 뜻합니다
SELECT mem_id, mem_name, height FROM member ORDER BY height DESC;
.
& 정렬 기준은 1개 열이 아니라 여러개의 열로 지정할수 있습니다.
(위에 있는 순서에서 잇지와 트와이스의 순서가 바뀐것을 알수 있습니다.)
SELECT mem_id, mem_name, height, debut_date
FROM member
WHERE height >= 165
ORDER BY height DESC, debut_date ASC;
LIMIT
- 출력하는 개수를 제한 합니다.
- 뒤에 LIMIT을 붙여주시면 됩니다.
SELECT mem_id, mem_name, height, debut_date
FROM member
WHERE height >= 165
ORDER BY height DESC, debut_date ASC
LIMIT 3;
& 중간 부터 출력하기
- LIMIT 시작 개수 형식으로 사용합니다.
- 예시로 LIMT 1, 3 하시면 1번째 부터 3개만 입니다. (0번째 부터 시작입니다.)
SELECT mem_id, mem_name, height, debut_date
FROM member
WHERE height >= 165
ORDER BY height DESC, debut_date ASC
LIMIT 1, 3;
DISTINCT
- 조회된 결과중 중복된 데이터 1개만 남깁니다.
SELECT addr
FROM member
ORDER BY addr;
위 코드에서 DISTINCT를 사용했을 경우 중복된 데이터 1개만 남아있는것을 알수 있습니다.
SELECT DISTINCT addr
FROM member
ORDER BY addr;
GROUP BY
- 그룹으로 묶어주는 역할을 합니다.
- GROUP BY는 집계함수와 주로 사용합니다.
집계함수 | |
SUM() | 합계를 구할때 사용합니다. |
AVG() | 평균을 구할때 사용합니다. |
MIN() | 최소값을 구할때 사용합니다. |
MAX() | 최대값을 구할때 사용합니다. |
COUNT() | 행의 개수를 구하고 싶을때 사용합니다. |
COUNT(DISTINCT) | 행의 개수를 구하되 중복은 1개만 인정합니다. |
위 코드에서 MMU가 몇개를 구매했는지 GROUP BY 와 SUM()을 사용하여 알아보겠습니다.
SELECT mem_id "회원아이디", SUM(amount) "총 구매"
FROM buy WHERE mem_id = "MMU" GROUP BY mem_id;
Having절
- WHERE절과 비슷한 개념입니다.(조건 제한)
- WHERE 대신에 사용합니다.
- 집계함수에 대해서 조건을 제한하는것입니다.
- GROUP BY절 다음에 나와야 합니다.
SELECT mem_id "회원아이디", SUM(price*amount) "총 구매 금액"
FROM buy
GROUP BY mem_id
HAVING SUM(price*amount) > 1000;
'학습단 > SQL 학습단' 카테고리의 다른 글
2주차 완료 (0) | 2023.07.14 |
---|---|
혼공스 8일차(데이터 변경을 해보자) (0) | 2023.07.14 |
혼공스 6일차(SQL 기본 문법_2) (0) | 2023.07.11 |
혼공스 5일차(SQL 기본 문법) (0) | 2023.07.10 |
1주차 완료 (0) | 2023.07.07 |