좀 더 깊게 알아보는 SELECT 문

이규훈·2023년 4월 9일
0

혼자 공부하는 SQL

목록 보기
1/4

ORDER BY

결과의 값이나 개수에 대해서는 영향을 미치지 않지만, 결과가 출력되는 순서를 조절한다.

만약 데뷔 일자가 늦은 순서대로 정렬하려면 DESC라고 붙이면 된다.
기본값은 ASC인데 이는 오름차순을 의미한다.

여기서 주의해야할 것은 만약 WHERE과 함께 사용할시 WHERE 절 다음에 나와야한다.
정렬 기준은 1개 열이 아니라 여러 개 열로 지정할 수 있다. 우선 첫 번째 지정 열로 정렬한 후에 동일 한 경우에는 다음 지정 열로 정렬 할 수 있다.
즉 1번째 지정한 열로 정렬했는데 동일할 경우 2번재 지정열을 기준으로 정렬한다는 의미이다.

LIMIT

출력하는 개수를 제한한다.
LIMIT 형식은 LIMIT 시작, 개수이다.

필요하다면 중간부터 출력도 가능하다. 3번째로부터 2건만 조회하는 경우도 가능핟.

DISTINCT

조회된 결과에서 중복된 데이터 1개만 남긴다.
열 이름 앞에 DISTINCT를 써주기만 하면 중복된 데이터를 1개만 남기고 제거한다.

GROUP BY

GROUP BY 절은 말 그대로 그룹으로 묶어주는 역할을 합니다.

사진을 보면 APN의 경우 1+2+1+1=5개의 물건을 구매했다. 그러나 합계를 이렇 암산해야한다면 불편하다. 이럴 때는 집계 함수를 사용하면 된다.

SELECT men_id, SUM(amount) FROM by GROUP_BY men_id;

이렇게 코드를 작성하면 된다.

별칭(alias)를 사용하면 결과를 더 보기 좋게 할 수 있다.

SELECT mem_id "회원 아이디" , SUM(amount) '총 구매 개수'
 	FROM buy GROUP BY mem_id;

COUNT에 대해서 설명를 하면 COUNT는 갯수를 세는 것인데, 유의할 점이
COUNT(*)는 모든 행의 개수를 세고 COUNT(열_이름)은 열 이름의 값이 NULL인 것을 제외한 행의 개수를 센다.

Having 절

GROUP BY안에서 쓰는 WHERE라고 생각하면 된다. 이는 집계 함수에 대해서 조건을 제한 할때 사용한다.
또한 HAVING 절은 꼭 GROUP BY 절 다음에 나와야한다.

profile
개발취준생

0개의 댓글

관련 채용 정보