less than 1 minute read

📜문제


https://school.programmers.co.kr/learn/courses/30/lessons/131118

image

📜정답


    SELECT A.REST_ID,REST_NAME,FOOD_TYPE,FAVORITES,ADDRESS,ROUND(AVG(REVIEW_SCORE),2)AS SCORE
    FROM REST_INFO A INNER JOIN REST_REVIEW B 
    ON A.REST_ID=B.REST_ID
    GROUP BY A.REST_ID HAVING ADDRESS LIKE '서울%'
    ORDER BY SCORE DESC,FAVORITES DESC

📜노트


  • 컬럼명 LIKE ‘__부분일치값%’
    % : ‘모든 문자’라는 의미로 글자수 제한이 없음
    _ : ‘한 글자’라는 의미로 글자수 제한이 있음

그리하여 ADDRESS LIKE '서울%'일때 ‘서울’이라는 문자열이 포함된 부분일치를 찾는 뜻이다. 패턴은 %를 사용했으므로 ‘서울’로 시작하는 대여 기간을 찾으며, 뒤로 몇 자의 문자가 있는지는 상관이 없다.
만약 _을 사용한 ADDRESS LIKE '_서울%'이라면 ‘서울’이라는 문자열 앞에 1개의 문자가 있는 문자열을 찾게 된다.

  • 평균 함수
    AVG

함수안에 필드명을 넣으면 필드값의 평균을 구하는 함수이다.