오라클 인스턴스에서 가동중인 db의 시간대가 맞지않는 문제가 발생해서 찾아봤다..
현재 timezone 확인
SELECT @@GLOBAL.time_zone, @@SESSION.time_zone;
첫번째 시도
set global time_zone = 'Asia/Seoul';
set time_zone = 'Asia/Seoul';
mysql_tzinfo_to_sql
유틸로 time_zone 정보를 db에 넣어준다.레퍼런스mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql;
source \home\user\Desktop\test.sql;
mysql [-h hostname] -u <user> <dbName> < path/to/test.sql
매우 기초적인 쿼리들
그나마 단순 left join, inner join이 까다로웠던 스프린트
n-m 관계를 쿼리하기 위해서 inner join을 중첩적으로 사용해야하는 문제가 어려웠다.
SQL을 작성할때도 코드컨벤션을 일정하게 유지하여 가독성 좋게 코딩하는것이 매우 중요함을 깨닫는다.
-- Bad Query 💩
`select name from category where id in (select categoryId from content_category where contentId = (select content.id from content join user on content.userId=user.id where user.name='jiSungPark'))`;
-- Good Query 👍
SELECT content.title, content.body, content.created_at, user.name
FROM content
INNER JOIN content_category ON content.id = content_category.contentId
INNER JOIN category ON content_category.categoryId = category.id
INNER JOIN user ON content.userId = user.id where category.name = 'soccer';