본문 바로가기
  • Coding & Book
학습단/SQL 학습단

혼공스 7일차(깊게 알아보자 SELECT문)

by 루이3 2023. 7. 13.

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