JOIN vs UNION ALL JOIN과 UNION은 모두 두 개 이상의 테이블을 합칠 때 사용되지만, 사용 방식과 결과가 다르다. JOIN JOIN은 기본적으로 두 테이블에서 공통된 값을 기준으로 행을 합친다. 테이블 사이에 관계를 설정하고, 그 관계를 기반으로 테이블을 합치려는 경우 주로 사용된다. -> ex) 고객 테이블과 주문 테이블 UNION ALL 두 개 이상의 SELECT문 결과를 단순히 위아래로 합친다. 두 테이블이 동일한 열 구조(Column의 갯수와 타입)를 가지고 있으며, 모든 행을 하나의 테이블로 합치려는 경우 주로 사용된다. 아래의 아이스크림 예제의 경우 FIRST_HALF와 JULY 테이블이 동일한 열 구조(FLAVOR, TOTAL_ORDER를 포함)를 가지고 있기 때문에 두 ..
inner join
프로그래머스 MySQL 문제를 풀던 중, 학원에서 배웠던 서브 쿼리가 잘 기억나지 않아 다시 정리해보려 한다. SELECT FOOD_TYPE, REST_ID, REST_NAME, MAX(FAVORITES) FROM REST_INFO GROUP BY FOOD_TYPE ORDER BY FAVORITES DESC; 처음에 이렇게 쿼리를 짰으나 오답이라고 나온다. SQL에서 Group By 절은 MAX와 같은 집계 함수를 이용할 때 특정 그룹을 기준으로 수행하는데, Group By 절은 선택한 모든 컬럼에 적용되어야 한다. 즉, 쿼리에서 REST_ID와 REST_NAME을 Group By 절에 포함시키지 않았기 때문에 오류가 발생한 것이다. 또한, MAX(FAVORITES)를 이용하면 가장 많이 즐겨찾기 된 수..