Web/100일 코딩 챌린지 - Web Development

섹션 23: SQL 데이터베이스 - 소개 & 핵심 개념 [59일차]

hy30nq 2024. 2. 26. 23:32
728x90

 

안녕하세요, 여러분! 오늘은 데이터베이스에서 '맛집 찾기'와 '추천 맛집 리뷰'를 주제로, INNER JOIN을 활용한 쿼리 작성법을 알려드리려고 해요. SQL 쿼리로 정보를 찾는 게 어렵다고요? 걱정 마세요. 저와 함께라면 쉽고 재밌게 배울 수 있어요!

뮌헨 맛집 찾기: INNER JOIN으로 데이터 결합하기

우선 뮌헨에 있는 맛집을 찾아볼까요? 'restaurants', 'addresses', 'types' 세 테이블이 있다고 가정해 볼게요. 각각 식당 정보, 주소, 식당 유형을 담고 있죠. 이 정보들을 조합하려면 어떻게 해야 할까요?

SELECT restaurants.id, restaurants.name, addresses.*, types.name AS type_name 
FROM restaurants 
INNER JOIN addresses ON (restaurants.address_id = addresses.id)
INNER JOIN types ON restaurants.type_id = types.id
WHERE addresses.city = "Munich"

위 쿼리는 'restaurants' 테이블에서 'addresses'와 'types' 테이블을 결합해, 뮌헨에 위치한 식당들의 정보를 보여줍니다. 'INNER JOIN'은 두 테이블의 일치하는 데이터만을 결합해요. 즉, 뮌헨에 실제 위치한 맛집 정보만 얻을 수 있답니다.

리뷰로 보는 추천 맛집: 평점 3점 이상의 식당 찾기

이번엔 리뷰를 통해 추천할 만한 맛집을 찾아볼까요? 'reviews' 테이블에는 방문객들의 리뷰와 평점이 담겨 있어요. 이 데이터를 활용해 평점 3점 이상의 식당을 찾아봅시다.

SELECT reviews.*, restaurants.name AS restaurant_name, addresses.*, types.name AS restaurant_type 
FROM reviews 
INNER JOIN restaurants ON reviews.restaurant_id = restaurants.id
INNER JOIN addresses ON restaurants.address_id = addresses.id
INNER JOIN types ON restaurants.type_id = types.id 
WHERE rating > 3

이 쿼리는 'reviews' 테이블과 'restaurants', 'addresses', 'types' 테이블을 결합해, 평점 3점 이상의 식당 정보를 보여줍니다. 평점이 높은 식당만 필터링해 보여주기 때문에, 어디를 가야 할지 고민될 때 유용하게 사용할 수 있어요.

마무리

INNER JOIN은 데이터베이스에서 강력한 도구예요. 여러분도 이 기능을 활용해 다양한 정보를 손쉽게 결합하고, 원하는 데이터를 찾아볼 수 있을 거예요. SQL 쿼리가 처음이라면, 오늘 배운 예제를 직접 시도해 보세요. 데이터베이스를 다루는 능력이 하나씩 향상될 거예요!

 

여러분의 의견을 듣고 싶어요. 더 알고 싶은 내용이나 궁금한 점이 있다면 알려주세요!

728x90