SQL코딩테스트 77

[StrataScratch - SQL] (Easy) Number of violations

문제 위반에 대한 세부 정보를 포함하는 건강 검진 데이터셋이 제공됩니다. 각 행은 하나의 검사를 나타내며, 검사에서 위반이 발생한 경우 violation_id 열에 값이 포함됩니다. 검사 날짜를 기준으로 'Roxanne Cafe'에서 발생한 각 년도의 위반 건수를 계산하세요. 출력 형식은 년도와 해당 년도의 위반 건수를 포함하며, 년도를 오름차순으로 정렬합니다. 테이블설명 예상결과 ✏️ 풀이SELECT YEAR(inspection_date) AS inspection_year, COUNT(*) AS n_violationsFROM sf_restaurant_health_violationsWHERE business_name = 'Roxanne Cafe' AND violation_id IS NOT NULL..

[StrataScratch - SQL] (Easy) Captain Base Pay

문제경찰 대장의 기본 급여를 찾아주세요.직원 이름과 해당하는 기본 급여를 함께 출력해주세요. 테이블설명 예상결과 ✏️ 풀이SELECT employeename, basepayFROM sf_public_salariesWHERE jobtitle LIKE '%Police%' AND jobtitle LIKE '%Captain%';police와 captain 이 들어간 직급을 찾는 문제였다police catains 라는 직즙을 찾는 문제인줄 알고 LIKE '%Police Captains%'로 풀어서 헤맸다문제에서 police, captain이라고 명확하게 구분을 해줘야 하지 않을까 싶다

[StrataScratch - SQL] (Easy) Popularity of Hack

문제메타/페이스북은 Hack이라는 새로운 프로그래밍 언어를 개발했습니다. Hack의 인기를 측정하기 위해 직원들을 대상으로 설문조사를 진행했습니다. 이 설문조사에는 이전 프로그래밍 친숙도, 경력 연수, 나이, 성별, 그리고 가장 중요한 Hack에 대한 만족도가 포함되었습니다. 그러나 오류로 인해 위치 데이터는 수집되지 않았습니다. 하지만 감독관은 사무소 위치별로 Hack의 평균 인기를 보여주는 보고서를 요구하고 있습니다. 다행히 설문에 응답한 직원들의 사용자 ID는 저장되었습니다.위의 내용을 바탕으로 사무소 위치별 Hack의 평균 인기를 구하세요.위치와 함께 평균 인기를 출력하세요. 테이블설명 예상결과 ✏️ 풀이SELECT e.location, AVG(s.popularity) AS 'avg_popula..

[StrataScratch - SQL] (Easy) Find all posts which were reacted to with a heart

문제 하트로 반응한 모든 게시물을 찾아주세요. 그런 게시물에 대해서는 facebook_posts 테이블의 모든 열을 출력해주세요. 테이블설명 예상결과 ✏️ 풀이SELECT DISTINCT p.*FROM facebook_posts AS pINNER JOIN facebook_reactions AS r ON p.poster = r.poster AND p.post_id = r.post_idWHERE reaction = 'heart';JOIN할 때 post_id와 poster 두 개의 조건을 줘야 한다

[StrataScratch - SQL] (Easy) Reviews of Hotel Arena

문제'Hotel Arena'에 대해 각 리뷰 점수별로 몇 개의 리뷰가 있는지 찾으세요. 호텔 이름('Hotel Arena'), 각 리뷰 점수, 해당 점수에 대한 리뷰 개수를 출력하세요. 결과에는 'Hotel Arena'만 포함되도록 하세요. 테이블설명 예상결과 ✏️ 풀이SELECT hotel_name, reviewer_score, COUNT(*) AS `count`FROM hotel_reviewsWHERE hotel_name = 'Hotel Arena'GROUP BY hotel_name, reviewer_score;'Hotel Arena'의 리뷰 점수별로 리뷰수를 COUNT()를 해야하기 때문에GROUP BY 절에 hotel_name, reviewer_score 두 개의 컬럼 명을 넣어준다.

[StrataScratch - SQL] (Easy) Bikes Last Used

문제각 자전거가 마지막으로 사용된 시간을 찾으세요. 자전거 번호와 해당 자전거의 마지막 사용 날짜-시간(즉, 자전거가 반환된 날짜-시간)을 출력하세요. 결과는 가장 최근에 사용된 자전거부터 정렬하세요. 테이블설명 예상결과 ✏️ 풀이SELECT bike_number, MAX(end_time) AS last_usedFROM dc_bikeshare_q1_2012GROUP BY 1ORDER BY 2 DESC;1. 자전거 별로 GROUP BY2. 가장 마지막 사용 시간을 뽑기 위해 end_time의 MAX() 값을 조회3. 가장 최근 순서로 정렬하기 위해 DESC로 정렬