2024/07/31 3

TIL (7/31) <날짜 자료형 총 정리(My SQL)>

1. 날짜형 자료 기본My SQL 자료형한국은 UTC보다 9시간 빠르다. 방법1)#세션에서 시간대를 변경 SET time_zone = 'Asia/Seoul'; SELECT CURDATE(), CURRENT_TIME(), NOW(); 방법2) 글로벌 시간대를 변경한다. (ROOT 권한 필요)SET GLOBAL time_zone = 'Asia/Seoul'; SELECT CURDATE(), CURRENT_TIME(), NOW(); 방법3) 시간대를 변환하여 조회CONVERT_TZ(NOW(), FROMTZ, TO_TZ)SELECT CONVERT_TZ(NOW(), '+00:00', '+09:00') AS current_seoul_time; DATETIME vs TIMESTMAP 2. 날짜 변환 & 가공 함수YEA..

TIL/SQL 2024.07.31

프로그래머스| 우유와 요거트가 담긴 장바구니(My SQL)

조건 두개를 동시에 만족해야 하기에 self join을 활용하여 문제를 해결하였다. 나의 풀이)select a.cart_idfrom cart_products a join (select cart_id, namefrom cart_products) b on a.cart_id = b.cart_id where a.name = "Milk" and b.name = "Yogurt" group by cart_idorder by cart_id하나의 쿼리에선 name이 Milk인, 하나의 쿼리에선 Yogurt인 cart_id에 대해 교집합을 구하였다.^ㅁ^

TIL/SQL 2024.07.31

프로그래머스| 헤비 유저가 소유한 장소(My SQL)

처음 작성한 코드select id, name, host_id from (select *from placesgroup by host_id having count(*) >= 2) as a order by id 오류 발생 이유는 group by host_id로 인해 having절을 만족하는 host_id에 대한 행 총 두개만 출력이 된다.원하는 쿼리는 조건을 만족하는 host_id가 가진 모든 공간 정보가 나와야 하기에 where절에 서브쿼리를 사용해야 한다. 나의 풀이)select id, name, host_id from places where host_id in (select host_id from places group by host_id having count(*) >= 2) order by idwhe..

TIL/SQL 2024.07.31