DB/실습

13. [ DB ] MySQL 확장 : 스키마(Schema) 활용 - 어플 / 카페

천재단미 2024. 12. 6. 09:27
728x90
반응형

1.  회원가입 화면에 필요한 SQL

 

 

 



INSERT INTO user (email, password, nickname)
values ( 'abc@gmail.com', '1234', '홍길동' );



 

 

 

 

2. 로그인 화면에 필요한 SQL

 

 

 

 



SELECT *
from user
where email = 'abc@gmail.com';



 

 

 

 

 

3. 리뷰 화면에 필요한 SQL  

 

1) 리뷰 작성 화면에 사용할 SQL 작성



insert INTO review (user_id, cafe_id, rating, content)
values ( 1, 50, 4, '분위기 좋아요.');



 

 

 

2) 리뷰 수정 화면에 사용할 SQL



UPDATE review
set rating = 4 , content = '분위기 좋긴 좋아요.'
where id = 15;



 

 

 

 

4. 카페 리스트 가져오는 화면 SQL 

 

 

 




SELECT c.id,c.name,c.address,c.description,IFNULL( avg( r.rating ) , 0 ) avg_rating
from cafe c
left join review r
on c.id = r.cafe_id
group by c.id
order by c.id
limit 0,20;



 

 

 

 

 

5. 상세화면 SQL 

 

1) 유저가 카페아이디 2번을 눌렀다. 

 




SELECT c.id, c.name, c.address, c.operating_days ,
SUBSTR(opening_hour, 1, 5) opening_hour,
SUBSTR(closing_hour, 1, 5) closing_hour,
IFNULL( avg(r.rating) , 0 ) avg_rating
from cafe c
left join review r
on c.id = r.cafe_id
where c.id = 2;


SELECT r.id, u.nickname, r.created_at, r.content, r.rating
from review r
join user u
on r.user_id = u.id
where cafe_id = 2
order by r.created_at desc;



 

 

 

 

 

 

6. 내가 작성한 리뷰 화면 SQL 

 

1) 가정 : 내 아이디는 1이다.

 



SELECT r.id, r.cafe_id, c.name, r.created_at, r.content, r.rating
from review r
join cafe c
on r.cafe_id = c.id
where user_id = 1
order by r.created_at desc;



 

728x90
반응형
home top bottom
}