-
SQL로 시작하는 데이터 분석 첫걸음 : [패스트캠퍼스] SQL 강의 학습후기 3주차DBMS 2023. 3. 4. 20:49
본 내용은 국가에서 운영하는 직업훈련포탈 (HRD-Net)의 국민 내일배움카드를 무료로 발급받아
국비지원교육인 K-digital 기초역량훈련소로 유명한 패스트캠퍼스 국비지원 온라인과정을 선택하여 강의 학습후기를 작성하였습니다.
이번 주차에는 데이터를 순서를 정해 원하는 데이터를 가져오는 방법을 배웠다.
예를 들어
"10번 이상 구매한 VIP고객중 구매 금액순으로 리스트 뽑아주세요"
"매출 5천만원 이상의 상품을 판매량 순으로 리스트 뽑아주세요"
ORDER BY : 가져온 데이터를 정렬해주는 키워드 (기본정렬은 오름차순으로 내림차순으로 할 경우 DESC를 추가한다.)
- ORDER BY [컬럼 이름] = ORDER BY [컬럼이름] ASC
- ORDER BY [컬럼이름] DESC
여러 컬럼을 정렬시는
ORDER BY [컬럼1], [컬럼2]
SELECT number, name FROM mypokemon
ORDER BY number DESC;
SELECT 뒤에 나오는 컬럼순서 번호를 가지고도 ORDER BY 할수도 있다.
RANK : 데이터를 정렬해 순위를 만들어 주는 함수
- RANK() OVER (ORDER BY [컬럼이름]) 형식으로 사용합니다.
- 항상 ORDER BY와 함께 사용합니다.
- SELECT절에 사용하며, 정렬된순서에순위를 붙인 새로운 컬럼을 보여줍니다.
- 테이블의 실제데이터에는 영향을 미치지 않습니다.
SELECT [컬럼이름], …, RANK() OVER (ORDER BY [컬럼이름])
FROM [테이블이름]
WHERE 조건식;
원하는 데이터 만들기에서 문자형 데이터 정복하기를 배웠다.
MySQL내의 다양한 타입의 데이터는 ‘함수’를 사용하여 변형할 수 있다.
예를 들어 LENGTH(“abc”) = 3 는 문자열의 글자수를 반환하는 함수이다.
SELECT part,
SUBSTRING(lyric, 3)
FROM bts_music.butter;
- lyric컬럼에서 3번째 문자부터 반환해서 보여준다.
SELECT part,
CONCAT(LEFT(lyric, 1), RIGHT(lyric, 1)) AS first_last
FROM bts_music.butter;
- lyric 컬럼값에서 좌측 1문자, 우측 1분자를 first_last 별칭으로 만들어 보여줌
SELECT part,
REPLACE(lyric, ‘ ‘, ‘_’)
FROM bts_music.butter;
- lyric 컬럼값에서 문자사이 공백값을 '_'로 대체하여 보여준다.
그 외에 데이타 그룹화하기, IF문 등을 이용해 규칙만들기, CASE문 사용하기등을 배운다.
SELECT name,
CASE
WHEN attack >= 100 THEN ‘very strong’
WHEN attack >= 60 THEN ‘strong’
ELSE ‘weak’
END AS attack_class
FROM pokemon.mypokemon;
또, 매우 중요한 함수 만들기에 대해서 예제를 통해 정리해봤습니다.
MySQL에서 사용자 정의 함수를 만들려면 CREATE FUNCTION 문을 사용합니다.
함수를 만들 때는 함수의 이름, 매개 변수, 반환 값 및 함수의 기능을 정의해야 합니다.
다음은 MySQL에서 함수를 만들기 위한 예제입니다.
예제 1 : 간단한 덧셈 함수 만들기
위의 예제에서는 두 개의 정수를 더하는 함수를 만들었습니다. 함수는 x와 y라는 두 개의 매개 변수를 받고, 두 수의 합을 반환합니다.
예제 2 : 문자열 길이 반환 함수 만들기
위의 예제에서는 문자열의 길이를 반환하는 함수를 만들 었습니다.
함수는 str이라는 매개 변수를 받고, 문자열의 길이를 반환합니다.
이 함수는 VARCHAR(255) 데이터 타입의 문자열을 받습니다.
<유익한 링크> SQL 가독성을 높이는 방법
'DBMS' 카테고리의 다른 글
SQL로 시작하는 데이터 분석 첫걸음 : [패스트캠퍼스] SQL 강의 학습후기 5주차 (0) 2023.03.07 SQL로 시작하는 데이터 분석 첫걸음 : [패스트캠퍼스] SQL 강의 학습후기 4주차 (0) 2023.03.05 SQL로 시작하는 데이터 분석 첫걸음 : [패스트캠퍼스] SQL 강의 학습후기 2주차 (0) 2023.03.04 SQL로 시작하는 데이터 분석 첫걸음 : [패스트캠퍼스] SQL 강의 학습후기 1주차 (0) 2023.02.19