MySQL 기초

[SQL] 일정공유앱 실습 예제

jasonshin 2021. 12. 10. 12:19

테이블생성

 

쿼리문

select * from share.user;

use share;

 

select * from user;

-- 회원가입 SQL
insert into user (email, password, nickname)
values ('kkk@gmail.com','1111', 'mike' );

select * from user;

-- 로그인 할때 필요한 SQL문을 작성해보세요.
select * 
from user
where email = 'abc@naver.com' and password = '1234';

-- 일정 등록하는 SQL
select * from schedule;

insert into schedule (content, date, user_id)
values ('크리스마스 파티 선물주고받고', '2021-12-24 18:40:00', 1);

-- 내일정 가져오는 SQL
select * 
from schedule
where user_id = 1
order by date desc
limit 0,25;

-- 나는 Mike이고, 홍길동을 친구등록하겠다.
select * from follow;


insert into follow (follower_id, followee_id)
values (3, 2);

-- 친구들의 일정을 가져오되 미완료 일정순으로 가져오기.
select *
from schedule;

select user.nickname, schedule.content, schedule.date, schedule.is_completed
from follow
join schedule
     on follow.followee_id = schedule.user_id
join user
      on follow.followee_id = user.id
where follower_id = 3 and date > now()
order by date;

-- 친구들의 완료 일정 가져오는 SQL
select user.nickname, schedule.content, schedule.date, schedule.is_completed
from follow
join schedule
    on follow.followee_id = schedule.user_id
join user
    on follow.followee_id = user.id
where follower_id = 3 and date <= now()
order by date;

-- 완료 여부 체크/ 해제하는 SQL
select * from schedule;
  
update schedule
set is_completed = if(is_completed = 0, 1 ,0)
where id = 1;

 

update schedule
set is_completed = if(is_completed = 1, 0 ,1)
where id = 1;

 

반응형