[TIL] 8/11 데브코스 W2D3

.·2021년 8월 12일
0

SELECT & GROUP BY

ORDER BYGROUP BY 에는 필드 이름 대신 포지션 번호를 쓸 수 있다.

-- user TABLE: id, nickname, email, gender
SELECT id, nickname
FROM user
ORDER BY 2 DESC;   -- ORDER BY nickname DESC 와 같음

SELECT절에 작성한 idnickname 필드에 일련번호 1과 2를 부여하고, ORDER BY에서 nickname 필드 이름을 중복 작성하는 대신 2로 대신했다.

COUNT

  1. COUNT(NULL)
    : COUNT의 인자로 NULL이 오게 되면 아예 세지 않는다. 따라서 결과는 0.
  2. 인자가 NULL이 아닌 경우
    : COUNT(1), COUNT(0), COUNT(*), .. 모두 레코드 하나씩 세는 방식으로 똑같이 동작한다.
  3. 인자가 field인 경우
    : 필드 값이 NULL인 경우를 제외한 모든 레코드의 수를 센다.
SELECT COUNT(1) FROM user;	-- N
SELECT COUNT(0) FROM user;	-- N
SELECT COUNT(NULL) FROM user;	-- 0
SELECT COUNT(nickname) FROM user; -- N - (nickname이 NULL인 개수)
SELECT COUNT(DISTINCT nickname) FROM USER;
-- 1. nickname 필드에서 중복 제거 2. Null 값 제거한 수

0개의 댓글