본문 바로가기

전체 글

(26)
[ 23/2/4 SQL : Join / Group by / Order by를 두 개 이상의 Field로 정렬하는 경우 | Join 을 두번 이상 수행하는 경우 | Union ] [ 웹개발, 앱개발 종합반의 week 별 체크인 수를 세어보기 & 보기 좋게 정리해보기 ] select c.title, ch.week, count(*) as cnt from courses c inner join checkins ch on c.course_id = ch.course_id group by ch.week, c.title order by ch.week, c.title - Group by 는 한가지 필드를 대상으로만 할 수 있는 줄 알았는데, 생각지도 못하게 두 개 이상의 필드로 할 수 있는 것을 알고 놀랐다. - Group by {field1} -> 이 때, {field 1}의 값들로 구분되어 모여진 데이터를 모아놨다가 ( a ) Grou..
[ 23/2/3 SQL : Join - Left Join, Inner Join ] Join이란? 두 테이블의 공통된 정보 (key값)를 기준으로 테이블을 연결해서 한 테이블처럼 보는 것을 의미한다. ex) user_id 필드를 기준으로 users 테이블과 orders 테이블을 연결해서 한 눈에 보기! Foreign Key 로 이어져있는 관계의 테이블들을 연결해준다. Join 에는 Left Join / Inner Join / Outer Join / Self Join 의 종류가 있는데, 이번에 배우게 될 내용은 Left Join / Inner Join이다. ( => Outer Join은 현업에서 그리 많이 쓰지 않는다고 한다 ) [ Left Join ] - Left Join 은, 조인을 하는 주체인 테이블의 데이터와, 다른 테이블의 참조 데이터를 가져와서 다 뿌려주는 것을 의미한다. se..
[ 23/2/2 TIL : SQL - SELECT * FROM Table ~ Group by / Order by : 통계적인 값들 구해보기 ] 동일한 범주의 데이터를 묶어주는 Group by 깔끔하게 데이터를 정렬해주는 Order by ( 오름차순 / 내림차순 ) [1] Group by 이용 예시. *Q) users 테이블에서 같은 성씨가 각각 몇개가 있는지 알고 싶다. 1) 일단 users 테이블에서 name 필드를 기준으로 정렬해본다. select * from users u group by name 이 결과는 아래와 같이 나온다. 쿼리문을 해석하면, select * : 테이블 내에 모든 필드들을 보여줘라. from users u : users라는 테이블에서 ( users의 별칭을 u로 하겠다 ) group by name : 이름 필드값을 기준으로 동일한 데이터는 묶어줘. 자세히 보면, name필드 값이 겹치지 않음을 알 수 있다. 사실 이*..