본문 바로가기

전체 글291

구글 스프레드 시트 자동화(app script, slack) 매일 특정 시간에 약을 복용하고 스프레드 시트에 기록해둔다고 해보자. 복용을 깜빡하고 기록을 남기지 않았을 때나 복용은 했는데 기록을 남기지 않은 경우들이 생길 수 있다. 이 때, 복용 시간에서 2시간 뒤, 5시간 뒤에 각각 체크하여 약 복용을 슬랙으로 리마인드 해주는 기능을 만들어보자.스프레드시트에는 다음과 같이 기록되어 있을 것이다.요구사항을 정리하면 11시에 A약 복용을 목표로 하고 있다.13시, 16시가 될 때마다 체크한다.오늘 날짜로 로우를 찾고 "A약 복용시간"의 칼럼을 찾는다. 찾아진 로우와 칼럼을 이용해 셀을 찾는다. 셀이 비었는지 확인한다. 비었으면 슬랙 알림을 보낸다. 해결과정우선 구글 스프레드시트를 사용하고 있으니 바로 연동할 수 있는 App script를 이용한다. hello wor.. 2024. 5. 16.
database three valued logic sql에서 null의 의미unknown: 아직 모름unavaliable or withheld: 민감정보로 공개 안한다던지 이유로 이용할 수 없음not applicable: 해당 사항 자체가 없는 경우(핸드폰이 아예 없는 다던지)null과 비교할때는 IS, IS NOT을 사용해야함.null과 비교연산을 하게되면(=,!=, , > 등) 결과는 UNKOWNUNKOWN: "TRUE일 수도 있고 FALSE일 수도 있다."three-valued logic: 비교/논리 연산의 결과로 T, F, UNKNOWN을 가짐and, or not 연산에서 unknown에 의해 결정되는 경우true AND unknown: unknownfalse or unknown: unknownnot unknown:where 절은 conditio.. 2024. 5. 14.
database grouping, aggregate function, ordering ORDER BY 로 정렬해서 select하기조회 결과를 특정 attribute(s)를 기준으로 정렬할 때ex. order by id asc, salary descASC(default), DESCaggregate function으로 통계 결과 뽑기여러 tuple들의 정보를 요약해서 하나의 값으로 추출하는 함수count, sum, min, max, avgnull 값들은 제외하고 요약 값을 추출함count(*), count(id) 와 같이 사용이 때 *는 튜플의 개수를 지칭id가 null이면 카운트에서 제외됨.GROUP BY로 그룹화 하기관심있는 attribute(s)를 기준으로 그룹을 나눠서 그룹별로 aggregate function을 적용하고 싶을 때 사용grouping attribute(s): 그룹을 나.. 2024. 5. 14.
database table join join 의미두 개 이상의 table들에 있는 데이터를 한 번에 조회implicit join vs explicit joinimplicit join: where 절에 join condition 명시. 안 쓰는 방식explicit join: table1 JOIN table2 + ON join conditionjoin condition: 비교 연산 가능, join condition 이 true인 튜플만이 포함됨inner join vs outer joininner join: 두 테이블에서 join condition 만족하는 tuple들로 result table 만듬 left outer join좌측 테이블 기준으로 join condition에 해당하는 attribute가 true아닌 경우 우측 테이블 값들은 nu.. 2024. 5. 14.