인공지능, 데이터분석/[SQL] 혼자 공부하는 SQL

[혼공학습단 9기 / SQL] ORDER BY, LIMIT, DISTINCT, GROUP BY, HAVING, 2주차 미션

마법사 코딩공주 2023. 1. 15. 21:14
728x90
반응형

<Chapter 03> 03-2 좀 더 깊게 알아보는 SELECT문

■ SELECT절의 형식

SELECT 열_이름
    FROM 테이블_이름
    WHERE 조건식
    GROUP BY 열_이름
    HAVING 조건식
    ORDER BY 열_이름
    LIMIT 숫자

1. ORDER BY절

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

 : 기본값은 ASC(Ascending) 오름차순을 의미, DESC(Descending) 내림차순을 의미

※ 참고 

  : ORDER BY는 WHERE절 다음에 나와야 함 SELECT 기본 형식 구문에 맞게 작성해줘야 오류가 안남

2. LIMIT : 출력의 개수를 제한

: WHERE절은 생략 가능하나 사용하고 싶으면 문법순서에 맞게 사용하면 됨

: ORDER BY와 함께 사용

SELECT mem_name, debut_date
    FROM member
    ORDER BY debut_date
    LIMIT 3;

출력결과

3. DISTINCT : 중복된 결과를 제거

조회된 결과에서 중복된 것은 1개만 남기며, 열 이름 앞에 붙여주면 됨

SELECT addr FROM member ORDER BY addr;

SELECT DISTINCT addr FROm member;

4. GROUP BY, HAVING절

: GROUP BY는 데이터를 그룹으로 묶어주는 기능 

: HAVING은 WHERE와 비슷한 개념으로 조건을 제한 -> 집계 함수에 대해서 조건을 제한하는 것

 

SELECT mem_id, "회원 아이디", SUM(price * amount) "총 구매 금액"
    FROM buy
    GROUP BY mem_id
    HAVING SUM(price * amount) > 1000
    ORDER BY SUM(price * amount) DESC;

5. 집계함수

함수명 설명
SUM() 합계
AVG() 평균
MIN() 최소값
MAX() 최대값
COUNT() 행의 개수
COUNT(DISTINCT) 행의 개수(중복은 1개만 인정)

<2주차 미션>

확인문제 2번

 ① SELECT * FROM member ORDER BY height;

 ② SELECT * FROM member LIMIT 5.2;

 ③ SELECT * DISTINCT phone1 FROM member;

728x90
반응형