티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/59034
프로그래머스에 코딩연습하러 갔다가 MYSQL도 있는걸 보고 해보았다.
아주 기초적인 문제부터 시작. 모든 레코드를 조화하는데 ID를 기준으로 조회해달라는 문제.
ORDER BY와 ASC, DESC를 이해하는지의 여부
이거는 SELECT문을 *말고 쓸수있느냐.. DESC를 아느냐의 문제였던 것 같다. 마찬가지로 기초 중의 기초. 혹시 문제를 잘못 누르지 않았나 테스트하는 것 같았다.
그러고보니 MYSQL을 배울 땐 명령문을 대문자로 쓰고 그외는 소문자로 써서 가독성을 늘렸었는데 여기선 모든게 대문자로 예시를 보여주다 보니 대문자로 쓰게되었다.
세 번째 문제부터는 배운대로 명령문은 대문자, 이외는 소문자로 써주었다. 이번 문제는 WHERE 조건문을 활용할 수 있느냐의 기초문제 intake_condition이 sick인 테이블의 animal_id와 name을 출력했다.
Aged가 아닌 동물들을 animal_id 기준으로 ASC 하라는 문제. 문제를 좀 애매?하게 낸 감이 없지않아 있다. 젊은 동물을 조회하라는데 늙어서 온 동물들은 Aged가 표시됐다는걸 알아서 판단해야하는 문제.
아니.. 문제가 좀 중복되는거 아닌가..
이번에는 ORDER BY에 여러 조건을 걸 수 있는가? 에 대한 문제
이름을 ABC순으로 출력해야 해서 오름차순인 ASC가 들어가고, 최근에 보호를 시작한 동물부터 출력되게 해야해서 내림차순인 DESC를 쓴 문제.
오름차순과 내림차순을 헷갈려하지 않는지, 두개 이상의 조건을 걸 수 있는지 판단하는 문제.
datetime에 ASC를 주고 LIMIT을 써서 가장 먼저 들어왔던 동물을 찾아주었다.
MAX를 쓸줄 아느냐? 문제였다. 네 쓸줄 압니다.
그럼 MIN도 쓸줄아니? 네 쓸줄압니다..
COUNT로 컬럼 갯수 구하기~
DISTINCT로 중복을 제거하고 NOT name IS NULL로 NULL값이 아닌 컬럼의 갯수를 구하는 문제.
GROUP BY 로 그루핑하고, HAVING절로 조건을 걸어서 해결한 문제. WHERE절로 조건을 걸면 안되는 이유를 추가로 찾아서 복습했다.
WHERE는 테이블에서 맨처음 row를 조회할 때 조건을 설정하기 위한 구문이고
HAVING은 이미 조회한 row들을 다시 그루핑했을때, 생성된 그룹들 중에서 다시 필터링 할 때 쓰는 구문이다.
이번 문제는 꽤 의미있었던 문제였던 것 같다. 다만 문제가 dog와 cat밖에 없어서 조건을 걸지 않아도 그냥 통과되어버리는 사태가 발생했다(...)
이름으로 그루핑해주고, 이름의 갯수가 2개 이상일때의 칼럼들을 오름차순 정렬하여 문제해결
이번 문제는 09시~ 19시를 시간대별로 그룹화하여 컬럼이 몇개씩 있는지 출력하는 문제였다.
SUBSTRING( x, y, z)는 로우 x의 y번째 문자열에서 길이 z만큼 가져오는 함수이다.
따라서 DATETIME에 있는 시간만 뽑아오고, 그루핑 이전에 WHERE문을 활용하여 9시~19시의 시간대별로 좁혔다.
그리고 시간대별로 그루핑한 다음 hour를 기준으로 오름차순(ASC)를 해주어서 해결.
띠용, 열세번째 문제랑 큰 차이가 없어보이지만 없는 변수를 직접 만들어서 0개라고 표시해줘야하는 문제다
SET을 이용해야 할 것 같은데.. 복습해서 다시 풀어봐야겠다. 일단 새벽4시이므로 내일하는걸로하고 취침
'Python > MYSQL' 카테고리의 다른 글
[MySQL] 프로그래머스 SQL 고득점 Kit 문제 후기 (0) | 2020.08.13 |
---|---|
[MySQL] 프로그래머스 SQL 고득점 Kit 문제 정복하기 - 02(完) (0) | 2020.08.13 |
- Total
- Today
- Yesterday
- vue.js 개념
- bootstrap5
- Vue.js
- Vue.js 책
- 다리위를지나는트럭
- vue bootstrap scss
- vue.js 특징
- 파이썬
- chmod 400
- windows10 chmod 400
- MySQL 문제
- 프로그래머스
- 코드잇 강의
- Vue.js강의
- heap max
- Python
- Vue.js 프로젝트 투입 일주일 전
- 배열 특정객체 제거
- 부트스트랩 커스텀
- 윈도우 chmod
- 입문
- dict 연속성
- javascript 객체배열
- 프로그래머스 코딩테스트
- 데이터 사이언스 프로그래밍 파이썬
- 코딩테스트
- 배열 특정요소 제거
- Vue.js 입문
- JavaScript
- Java수료
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |