목록강의수강/[SQL] (5)
미소를뿌리는감자의 코딩
show tables; 데이터베이스의 테이블 보기 select * from orders orders 테이블의 데이터 가져와보기 select created_at from orders; orders 테이블의 특정 필드만 가져와보기 where payment_method = "kakaopay" payment_method가 kakopay인 것만 가지고 와줘 where course_title = "앱" and payment_method = "kakao" 여러 조건을 and로 걸어줄 수 있다. where point > 20000; 조건문도 가능하다. where created between "2020-07-13" and "2020-07-15" 범위 조건 걸어보기 where week in (1,3); 포함 조건 걸어보기..

Subquery : 쿼리 안의 쿼리라는 의미 inner join을 다음과 같이 subquery 로도 나타낼 수 있다. tab을 하는 방법은 tab하고자 하는 것을 하이라이트 한 후, tab을 하면 된다. -> 오른쪽으로 이동 shift + tab을 하게 된다면 on pu.user_id = a.user_id 이씨 성을 가지고, 포인트가 이씨 평균보다 높은 사람들을 출력하라 예제1) select * from point_users pu where point > ( select avg(point) from point_users pu inner join users u on pu.user_id = u.user_id where name = '이**' ) 예제2) select * from point_users pu w..

join 테이블이 서로 분리되어 있을 때, 어떻게 table을 join할 것인지. 두 테이블의 공통된 정보 값을 기준으로 테이블을 연결 짓는 것. join의 종류: Left Join, Inner Join 1) Left Join a 와 b table이 있을 때, a table을 기준으로 붙이는 것. select * from users u left join point_users p on u.user_id = p.user_id 왼쪽을 기준으로 붙이는 것을 의미함. 2)Inner Join select * from users u inner join point_users p on u.user_id = p.user_id 교집합을 의미. NULL인 부분이 있으면 포함시키지 않고 진행. (u 와 p로 별칭을 만들어준 것..
group by select name, count(*) from users group by name; name 으로 묶은 group을 만든 뒤, count로 몇개인지 세는 것을 의미한다. 처음에는 별로 와닿지 않았지만, 쓰면 쓸수록 잘 이해 되었다. 여기서 count(*) 가 아닌 다르게 쓰일 수도 있다. 만약 likes개수의 avg, min, max, sum를 구하고 싶다면, 이 대신에 avg(likes), min(likes), max(likes), sum(likes)이런식으로 작성하면 된다. 만약 avg(likes) 를 하면 소수점 자리들이 조금 지저분하게 느껴질 수 있다. 이럴 때에는 round를 이용하면 된다. round(avg(likes), 1) 이렇게 작성하면 된다. 1 은 첫 번째 자리수 까..