show tables;
show tables를 사용하여 테이블들을 본다. 문제에서는 주문데이터를 원하므로 orders 테이블을 검색해본다.
select * from orders;
결제수단과 관련된 payment_method 필드를 찾았다. 이제 select문과 where절을 사용하여 문제에서 원하는 값을 구한다.
문제에서 원하는 건 "CARD"가 아닌 주문 데이터이므로 !=를 사용한다.
select * from orders
where payment_method != "CARD";
show tables;
포인트와 관련되어 있어보이는 point_users를 검색한다.
select * from point_users;
포인트와 관련된 point 필드를 찾았다. 이제 select문과 where절을 사용하여 문제에서 원하는 값을 구한다.
문제에서 원하는 건 포인트가 20000~30000인 유저이므로 between을 사용한다.
select * from point_users
where point between 20000 and 30000;
show tables;
유저와 관련되어 있어 보이는 users 테이블을 검색한다.
select * from users;
이메일과 관련된 email 필드르 찾았다. 이제 select문과 where절을 사용하여 문제에서 원하는 값을 구한다.
문제에서 원하는건 이메일이 s로 시작하고 com로 끝나는 유저이므로 like를 사용한다.
select * from users
where email like "s%.com";
위 문제와 비슷하므로 이어서 시작...
조건이 두 개이므로 and를 사용해서 두 개의 조건을 걸어준다.
select * from users
where email like "s%.com" and name="이**";
show tables;
유저와 관련되어 있어 보이는 users 테이블을 검색한다.
select * from users;
이름과 관련된 name 필드르 찾았다. 이제 select문과 where절을 사용하여 문제에서 원하는 값을 구한다.
문제에서 원하는건 성이 남씨인 유저의 이메일이므로 코드는 다음과 같다.
select email from users
where name="남**"
show tables;
유저와 관련되어 있어 보이는 users 테이블을 검색한다.
select * from users;
이메일과 관련된 email 필드와 가입 날짜와 관련된 created_at 찾았다. 이제 select문과
where절을 사용하여 문제에서 원하는 값을 구한다.
문제에서 원하는건 Gmail을 사용하는 2020/07/12~13에 가입한 유저이다.
더욱 간단하게 말해서 이메일이 gmail.com으로 끝나는 유저를 찾으므로 like를
2020/07/12 ~ 2020/07/13에 가입한 유처를 찾으므로 between을 써준다.
select * from users
where email like "%@gmail.com"
and created_at between "2020-07-12" and "2020-07-14";
위 문제와 비슷하므로 이어서 시작...
유저의 수를 세는 것이므로 count를 사용한다.
select count(*) from users
where email like "%@gmail.com"
and created_at between "2020-07-12" and "2020-07-14";