본문 바로가기
Private life

패스트 캠퍼스 SQL강의 3주차 요약, 정리, 후기 MySQL

by Double Korean J 2022. 9. 12.

국비지원교육 패스트 캠퍼스 SQL 강의 2주차 요약, 정리에 이은 3주차를 시작한다.

 

2022.09.04 - [Private life] - 패스트 캠퍼스 SQL강의 2주차 요약, 정리, 후기 MySQL

 

패스트 캠퍼스 SQL강의 2주차 요약, 정리, 후기 MySQL

국비지원교육 패스트 캠퍼스 SQL 강의 1주차 요약, 정리에 이은 2주차를 시작한다. 2022.08.29 - [Private life] - 패스트 캠퍼스 SQL강의 1주차 요약, 정리, 후기 MySQL 패스트 캠퍼스 SQL강의 1주차 요약, 정

iamdoublej.tistory.com

 

 

!= 아니다 라는 뜻임.

즉, WHERE type != "normal"; WHERE NOT (type = "normal");은 같은 의미임.

 

WHERE attack BETWEEN 40 AND 60;WHERE attack >= 40 AND attack <= 60;과 같은 의미임.

 

 

ORDER BY : 가져온 데이터를 정렬해주는 키워드.

ORDER BY [컬럼 이름] 형식으로 사용.

입력한 [컬럼 이름]의 값을 기준으로 모든 row를 정렬함.

기본 정렬 규칙은 오름차순임.

ORDER BY [컬럼 이름] = ORDER BY [컬럼 이름] ASC

 

내림차순 정렬을 원할땐 마지막에 DESC 키워드 추가.

ORDER BY [컬럼 이름] DESC

 

여러 컬럼으로 정렬도 가능. 

ex) ORDER BY [컬럼 1], [컬럼 2] = [컬럼 1]기준으로 정렬 후 [컬럼 1] 값이 동일한 로우 간에 [컬럼 2] 기준으로 정렬함.

 

 

컬럼 번호로도 정렬 가능.

이 때, 컬럼 번호는 SELECT 절의 컬럼 이름의 순서를 의미함.

 

MySQL 연습


 

 

 

ORDER BY 문법.

(오름차순)

SELECT [컬럼 이름]

FROM [테이블 이름]

WHERE 조건식

ORDER BY [컬럼 이름] ASC;

 

*ASC는 생략가능.

 

(내림차순)

SELECT [컬럼 이름]

FROM [테이블 이름]

WHERE 조건식

ORDER BY [컬럼 이름] DESC;

 

ex) SELECT number, name

FROM mypokemon

ORDER BY number DESC;

 

ex) SELECT number, name, attack, defense

FROM mypokemon

ORDER BY attack DESC, defense;

-> attack 값이 동일한 것만 defense값이 오름차순으로 정렬됌.


데이터를 정렬해 순위를 만들어 주는 함수 RANK.

RANK() OVER (ORDER BY [컬럼 이름]) 형식으로 사용함.

항상 ORDER BY와 함께 사용함.

SELECT절에 사용하며, 정렬된 순서에 순위를 붙인 새로운 컬럼을 보여줌.

테이블의 실제 데이터에는 영향을 미치지 않음. 

 

내림차순 순위 만들기.

SELECT [컬럼 이름],..., RANK() OVER(ORDER BY [컬럼이름] DESC)

FROM [테이블 이름]

WHERE 조건식;

 

오름차순 순위 만들기.

SELECT [컬럼 이름],..., RANK() OVER (ORDER BY [컬럼이름])

FROM [테이블 이름]

WHERE 조건식;

 

RANK는 순서를 매겨주는 함수임 (새로운 열을 생성함). 정렬은 ORDER BY 에서 되는것임.

 

ex) SELECT name, attack, RANK() OVER (ORDER BY attack DESC) AS attack_rank

FROM pokemon.mypokemon;

 

댓글