목록Programming Skill (52)
Data Blog
📢 본 포스팅에서 사용되는 자료와 출처는 HackerRank 임을 밝힙니다. https://www.hackerrank.com/challenges/what-type-of-triangle/problem?isFullScreen=true 해당 문제를 요약하면 다음과 같다.1. 세 변의 길이를 이용하여 각 레코드의 삼각형 유형을 식별하는 쿼리 작성2. Equilateral : 세 변의 길이가 모두 같은 삼각형3. Isosceles : 두 변의 길이가 같은 삼각형4. Scalene : 세 변의 길이가 모두 다른 삼각형5. Not a Triangle : 주어진 A, B, C 값이 삼각형을 형성하지 않는 경우 삼각형의 형성 조건은 너무 오랜만이라 조금 헷갈렸지만, 이렇게 조건에 따라 출력 값이 달라질 때는 CASE ..
📢 본 포스팅에서 사용되는 자료와 출처는 LeetCode 임을 밝힙니다. https://leetcode.com/problems/fix-names-in-a-table/description/ 해당 문제를 요약하면 다음과 같다.1. name의 첫 글자는 대문자로, 나머지 글자는 소문자로 출력 2. user_id를 기준으로 오름차순 정렬 MySQL에서 대문자/소문자를 변경할 때 사용하는 함수는 UPPER과 LOWER이다.UPPER : 문자열을 모두 대문자로 변환LOWER : 문자열을 모두 소문자로 변환 위 함수를 알았다면 다음 3단계를 거쳐 문제를 풀 수 있다.step 1) SUBSTR 함수를 사용해 name의 첫 글자를 추출하고, 이를 대문자로 변환step 2) SUBSTR 함수를 이용해 name의 나머..
📢 본 포스팅에서 사용되는 자료와 출처는 Programmers 임을 밝힙니다. https://school.programmers.co.kr/learn/courses/30/lessons/59412 해당 문제를 요약하면 다음과 같다.1. 09:00부터 19:59까지 각 시간대별 입양 건수를 조회 2. 시간대 기준으로 오름차순 정렬 방법 1) WHERE절'개와 고양이는 몇 마리 있을까' 문제와 동일하게, 이번에도 DATETIME 타입에 조건을 설정해야 하므로 먼저 WHERE 절을 고려했다. DATETIME 타입에서 시간을 추출할 때는 HOUR 함수를 사용할 수 있다.또한, MySQL에서는 SELECT문에서 정의한 별칭(Alias)을 GROUP BY, HAVING, ORDER BY 절에서는 사용할 수 있지만, ..
📢 본 포스팅에서 사용되는 자료와 출처는 Programmers 임을 밝힙니다. https://school.programmers.co.kr/learn/courses/30/lessons/151137 해당 문제를 요약하면 다음과 같다.1. 통풍시트, 열선시트, 가죽시트 중 하나 이상의 옵션이 포함된 자동차의 종류별 대수를 출력 2. 자동차 종류를 기준으로 오름차순 정렬 방법 1) 와일드카드Like 연산자를 활용한 필터링에서 자주 사용되는 와일드카드를 사용하는 방법이 가장 먼저 떠올랐다. 그러나 OR로 여러 조건을 연결했더니, 코드를 좀 더 간결하게 수정할 방법이 필요했다.-- 방법 1) 와일드카드SELECT car_type , COUNT(*) AS carsFROM car_rental_company_ca..
📢 본 포스팅에서 사용되는 자료와 출처는 Programmers 임을 밝힙니다. https://school.programmers.co.kr/learn/courses/30/lessons/59414 해당 문제를 요약하면 다음과 같다.1. 모든 레코드에 대해 각 동물의 아이디와 이름, 들어온 날짜 조회 (시-분-초를 제외한 년-월-일)2. 아이디 기준으로 오름차순 먼저, datetime이 어떤 형식의 데이터를 가지고 있는지 확인하기 위해 아래 코드를 실행하면 다음과 같은 결과가 나타난다.SELECT animal_id , name , datetimeFROM animal_insORDER BY animal_id;/*animal_id name datetimeA349996 Sug..
📢 본 포스팅에서 사용되는 자료와 출처는 Programmers 임을 밝힙니다. https://school.programmers.co.kr/learn/courses/30/lessons/59040 해당 문제를 요약하면 다음과 같다.1. 동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회2. 고양이를 개보다 먼저 조회 방법 1) WHERE절animal_type에 '고양이'와 '개'라는 조건이 붙어 있어 자연스럽게 WHERE 절을 떠올렸다.-- 방법 1) WHERE절SELECT animal_type , COUNT(*) AS countFROM animal_insWHERE animal_type IN ('Dog', 'Cat')GROUP BY animal_typeORDER BY animal_ty..
📢 본 포스팅에서 사용되는 자료와 출처는 LeetCode 임을 밝힙니다. https://leetcode.com/problems/employees-earning-more-than-their-managers/description/ 해당 문제를 요약하면 다음과 같다.1. manager 보다 salary가 높은 employee 출력2. 정렬 고려하지 않음 동일한 테이블을 서로 다른 키(managerid와 id)로 JOIN해야 해결할 수 있는 문제이다.SELECT e1.name AS EmployeeFROM employee AS e1 LEFT JOIN employee AS e2 ON e1.managerid = e2.idWHERE e1.salary > e2.salary;
📢 본 포스팅에서 사용되는 자료와 출처는 HackerRank 임을 밝힙니다. https://www.hackerrank.com/challenges/weather-observation-station-5/problem?isFullScreen=true 해당 문제를 요약하면 다음과 같다.1. city의 길이가 최소 또는 최대인 도시 이름을 출력 2. 도시가 2개 이상일 경우, 도시 이름을 기준으로 오름차순 정렬 LENGTH 함수를 사용해 city의 길이를 알 수 있다. LENGTH(string_expression) 함수는 string_expression이 NULL이면 NULL을 반환하며, CHAR 타입일 경우 공백을 포함한 문자열의 길이를 반환한다. ORDER BY 절을 사용해 city의 길이를 정렬할 수 있고..