3) 상품 주문이 들어왔으니 주문을 처리해봅시다.
9.
SELECT coustomer_id FROM orders WHERE amount>1; |
=> ; 빼먹지 않기
10.
SELECT * FROM orders WHERE amount>1 AND order_date>'2023-11-02'; |
=>;빼먹지 않기, 행 나누기, *=모든 컬럼
11.
SELECT * FROM orders WHERE amount<3 AND shipping_fee>15000; |
12.
SELECT shipping_fee FROM orders ORDER BY shipping_fee DESC; |
4) 이제 놀만큼 놀았으니 다시 공부해봅시다!
13.
SELECT name , track FROM sparta_students; |
14.
SELECT * FROM sparta_students WHERE NOT track = 'Unity'; |
=> 문자열을 사용할 때는 '(작은 따옴표) 잊지 말기
15.
SELECT * FROM sparta_students WHERE enrollment_year = 2021 OR enrollment_year = 2023; |
16.
SELECT enrollment_year FROM sparta_students WHERE track = 'Node.js' AND grade = 'A'; |
5) 공부하다 보니 팀 프로젝트 시간이 왔어요!
17.
SELECT name FROM team_projects WHERE aws_cost>=4000; |
18.
SELECT * FROM team_projects WHERE start_date BETWEEN '2022-01-01' AND '2022-12-31'; |
19. ...?? 오늘이 2023-03-18이라 가정
SELECT * FROM team_projects WHERE start_date>curdate() AND end_date<curdate(); |
=> curdate()는 현재 서버에서 SQL 문이 실행될 때 시간대 시계의 판독값을 기준으로 날짜를 반환 (현시간 데이터 값 불러옴)
getdate() 또한 마찬가지 / 위의 둘은 날짜만 출력
sysdate() 날짜와 시간까지 출력(시분초)
20.
SELECT * DATEDIFF (dd, start_day, end_day) FROM team_projects; SELECT* DATEDIFF(d, '2023-01-01', '2023-01-07') DATEDIFF(d, '2023-03-05', '2023-03-22') DATEDIFF(d, '2023-11-20', '2023-11-30') DATEDIFF(d, '2022-07-01', '2022-07-30') FROM team_projects; --직접 값을 입력하여 계산하는 코드가 있을텐데..... 아직 모르겠음 |
6) 팀 프로젝트 열심히 했으니 다시 놀아볼까요?!
21.
SELECT * FROM lol_users RANK() OVER (ORDER BY rating DESC); |
=> RANK() : 중복 순위가 있으면 해당 순번 만큼 건너뛰고 순번 부여
DENSE_RANK() : 중복 순위가 있어도 차례대로 순번 부요
22.
SELECT name MAX(join_date) FROM lol_users; |
23.
SELECT * FROM lol_users ORDER BY rating DESC GROUP BY region, rating; --지역별로 |
=> order by와 group by과 함께 사용할 때의 주의
24.
SELECT * AVG (rating) --집계함수 FROM lol_users GROUP BY region; --지역별로 |
=> GROUP BY : 같은 값을 가진 행을 그룹짓는 SQL 명령어
집계 함수와 함께 사용 (COUNT(), MAX(), MIN(), SUN(), AVG() 등)