본문 바로가기

SQL35

Foreign Key, 자식 테이블, 부모 테이블, mysql 설정법 Foreign Key 다른 테이블의 특정 row를 식별할 수 있게 해주는 column을 foreign key(외래키) 라고 한다. stock table의 item_id 로 item table에서 어떤 상품을 말하는 지 알 수 있다! 외래 키는 다른 테이블의 특정 row를 식별 할 수 있어야 하기 때문에 다른 테이블의 primary key를 참조하는 경우가 많다. MySQL에서 Foreign Key 설정법 MySQL에서 stock table이 item table을 참조하게 된다. 이를 설정해보자. 좌측에서 stock table의 column을 볼 수 있는 렌치 모양아이콘을 클릭한 후, 중앙의 foreign keys 라고 되어있는 버튼을 누른다 그러면 아래의 그림과 같은 창이 뜰텐데, 먼저, click to.. 2021. 7. 13.
GROUPING 함수(with ROLLUP) GROUPING 함수 - ROLLUP 을 적용하면 NULL을 표시하면서 부분총계를 나타내게 된다. 그러나, 원래 NULL 값이 들어있었던 것과 차이를 구분하기 위해서는 GROUPING 함수를 사용하면 된다. 아래와 같이 코드를 작성하였을 때를 보면, SELECT YEAR(sign_up_day) AS s_year gender, SUBSTRING(address, 1, 2) AS region, COUNT(*) FROM copang_main.member GROUP BY YEAR(sign_up_day), gender, SUBSTRING(address, 1, 2) WITH ROLLUP ORDER BY s_year DESC; 위 그림을 보면, 첫 번째 행의 NULL은 4번째 행인 ROLLUP 때문에 나온 NULL과 .. 2021. 7. 12.
ROLL UP 부분총계 ROLLUP 부분총계를 계산하여 보여준다. 먼저, ROLLUP을 적용하지 않은 코드의 결과를 실행시켜본다. SELECT SUBSTRING(address, 1, 2) as region, gender, COUNT(*) FROM copang_main.member GROUP by SUBSTRING(address, 1, 2), gender HAVING region IS NOT null ORDER By region ASC, gender DESC; 결과는 아래와 같다. 지역과 성별로 groupby 되어있지만, 행 개수의 합은 gender로 구분되어있다. 만약 지역별로 통합하여 총계를 내보고 싶을 때, ROLLUP을 사용하면 된다. 사용하는 방법은 다음과 같다. group by 밑에 사용해주면 된다. 현재 groupb.. 2021. 7. 12.
PostgreSQL 사용기 PostgreSQL 인턴하는 회사에서 PostgreSQL을 사용하게 되어 새로 설치해보게 되었다. brew를 사용하지 않았고, 홈페이지에서 설치하였으며, 설치 이후 terminal에서 PATH추가 부터 작성하려 한다. PATH 추가 내 경우에는 Library 안에 PostgreSQL폴더가 있었는데, 이 Library가 Users 안에 있는 것이 아니라 전체의 Library였다. vi ~/.zshrc # i를 눌러 insert mode # export PATH="Library/PostgreSQL/12/bin:$PATH" 를 추가하고 :wq 후 나온다. #나와서 source 로 적용 source ~/.zshrc 위의 작업을 거치면 psql 명령어가 가능해진다. 그런데 psql postgres 라고 termi.. 2021. 6. 22.