반응형
스키마 생성: memo_app_dn
테이블 생성:
테이블명 | 컬럼 | ||||
users | id | password | name | created_at | |
memo | id | user_id | content | todo_date | is_completed |
follow | id | follower_id | followee_id | created_at |
use memo_app_db; select * from user; insert into user (email, password, name) values ('abc@naver.com','ttnn1111','sally'); insert into memo (user_id, content, todo_date) values (1,'김밥 먹으러 가자', '2022-05-20 11:45') (2,'커피 마시면서 놀기', '2022-06-14 14:00') (2,'맛있는 점심 먹으러', '2022-05-28 11:30') (3,'개발 미팅', '2022-06-02 10:30'); insert into memo (user_id, content, todo_date) values (3,'과제', '2022-05-10 15:30'); insert into follow (follower_id,followee_id) values (3,2); |
-- 내 일정 가져오는 sql
select * from memo where user_id = 2 order by todo_date desc limit 0,25; |
-- 일정 완료 여부 셋팅하는 SQL
update memo set is_completed = 0 where id = 3; select * from follow; select * from memo m join user u on u.id = m.user_id; |
-- 친구 목록 가져오기
select * from follow f join user u on f.followee_id = u.id where f.follower_id = 1 ; |
-- 나의 id는 1이다.
-- 내 친구들인, 김나나와 Mike의 일정을 가져오는 SQL
select * from user u join follow f on f.followee_id = u.id join memo m on f.followee_id = m.user_id ; -- > 쌤 풀이 select u.name, m.content, m.todo_date, m.is_completed from follow f join memo m on f.followee_id = m.user_id join user u on m.user_id = u.id -- 메모 작성한 사람의 id로, 유저 테이블을 갖다 붙임. where follower_id = 1 and todo_date > now() order by todo_date desc; |
반응형
'프로그래밍 언어 > MySQL' 카테고리의 다른 글
[MySQL] 실습: 영화2 (0) | 2022.05.19 |
---|---|
[MySQL] 문자열 빨리 찾기: fulltext, 실습: 영화1 (0) | 2022.05.19 |
[MySQL] 실습: 좋아요 (0) | 2022.05.19 |
[MySQL] 중복값 입력 방지: Unique 설정 (0) | 2022.05.19 |
[MySQL] 데이터 입력 실시간 시간 기록: now() (0) | 2022.05.19 |