Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바
- 코테
- 안드로이드스튜디오
- groupby
- select
- 기술면접
- java
- 티스토리챌린지
- 정보처리기사
- 스터디
- 자료구조
- MySQL
- 인프런
- 혼공챌린지
- Android
- 혼공파
- 정처기
- CS
- 혼공단
- 오블완
- 카카오코테
- 코틀린
- Kotlin
- Til
- 프로그래머스
- doitandroid
- SQL
- 안드로이드
- 알고리즘
- join
Archives
- Today
- Total
Welcome! Everything is fine.
[TIL] 241122 - SQL / Java 공부 본문
728x90
사전캠프를 시작하면서 다시 시작하게된 TIL...
글쓰는 시간이 오래 걸려서 쉽지 않지만 꾸준히 나아가자.👊🏻
✅ SQL 문제 풀기
날짜 관련 함수
- CURRENT_DATE() / CURDATE() : 현재 날짜(YYYY-MM-DD)를 반환한다.
- NOW() : 현재 날짜와 시간(YYYY-MM-DD HH:MM:SS)을 반환한다.
- YEAR() / MONTH() / DAY() : 날짜의 연도, 월, 일을 추출한다.
- DATEDIFF() : 두 날짜 간의 차이를 일수로 반환한다.
- DATE_ADD() / DATE_SUB() : 날짜에 특정 간격을 추가하거나 뺀다.
- LAST_DAY() : 주어진 날짜가 속한 달의 마지막 날짜를 반환한다.
- STR_TO_DATE() : 문자열을 날짜로 변환한다.
- DATE_FORMAT() : 날짜를 특정 형식으로 변환한다.
윈도우 함수
- 윈도우 함수 : SQL에서 그룸화 없이도 데이터 집합의 각 행에 대해 계산을 수행할 수 있는 함수. OVER() 절과 함께 사용된다.
윈도우 함수 중에서도 이번 퀘스트에서 나온 순위 관련 함수를 보자.
1. ROW_NUMBER(): 그룹 내에서 각 행에 고유한 순위를 부여한다.
2. RANK(): 동일한 값에 동일한 순위를 부여하며, 이후 순위를 건너뛴다.
3. DENSE_RANK(): 동일한 값에 동일한 순위를 부여하지만, 이후 순위를 건너뛰지 않는다.
각 유저의 레이팅 순위를 계산하는 쿼리를 작성하는 문제가 있었다. 해당 문제에서 순위를 계산하기 위해 RANK() 함수를 사용했다. 다음과 같이 하면 rating 순으로 내림차순 정렬 후, 순위를 매기게 된다.
SELECT
id,
name,
region,
rating,
RANK() OVER (ORDER BY rating DESC) AS ranking
FROM lol_users;
✅ 자바 강의 듣기
String
자바에서는 문자열을 더 쉽게 다룰 수 있도록 String 클래스를 제공한다. String 클래스 내부를 보면, char[]에(자바 9이후부터는 효율성을 위해 byte[]을 사용) 문자가 하나하나 보관된다. String 클래스가 없다면 char[]에 한 글자씩 저장해야 했을지도 모른다.
✔️ String 클래스의 기능(메서드)
- length() : 문자열의 길이를 반환한다.
- charAt(int index) : 특정 인덱스의 문자를 반환한다.
- substring(int beginIndex, int endIndex) : 문자열의 부분 문자열을 반환한다.
- indexOf(String str) : 특정 문자열이 시작되는 인덱스를 반환한다.
- toLowerCase() , toUpperCase() : 문자열을 소문자 또는 대문자로 변환한다.
- trim() : 문자열 양 끝의 공백을 제거한다.
- concat(String str) : 문자열을 더한다.
String은 클래스, 즉 참조형이기 때문에 실제 값이 아닌 참조값(주소값)이 들어있다. 따라서 +와 같은 연산은 원칙적으로 사용할 수 없지만, 사람들이 많이 쓰기 때문에 특별히 + 연산을 제공한다.
'TIL' 카테고리의 다른 글
[TIL] 241127 - SQL / Java 공부 (2) | 2024.11.27 |
---|---|
[TIL] 241125 - SQL 공부 / 코테 풀이 (0) | 2024.11.25 |
[Git] 커밋 메세지 컨벤션(Commit Message Convention) 가이드 (0) | 2023.10.25 |
[Git] 깃 특정 브랜치만 clone하기 (0) | 2022.06.16 |
[TIL] 220306 (0) | 2022.03.06 |