작성
·
81
0
제목 그대로 입니다.
저는 지금 11.4.2-MariaDB-ubu2404 버전을 사용 하고 있는데요.. lateral 키워드를 인식을 못합니다.
검색 해서 알아보니 마리아디비 및 mysql 에서는 lateral 키워드를 완벽히 지원 못한다는 내용이 있던데요..
원래 PostgreSQL 에서 지원하는 기능 이었다고 하던데요..
mysql 8 강의에서 소개를 하고 있다면 사용 가능한 것 일텐데..
저의 데이터베이스 세팅 등이 이상한 걸까요?
mysql 8 버전으로 테스트를 해봐야 할까요?
lateral 설명을 보니 많은 도움이 될 것 같아 꼭 사용 하고 싶은 기능인데.. 왜 안되는지 알 수가 없네요..
왜 그럴까요??
SELECT e.emp_id, e.emp_name, l.recent_salary, l.salary_date
FROM employees e
LEFT JOIN LATERAL (
SELECT salary AS recent_salary, date AS salary_date
FROM salary_history sh
WHERE sh.emp_id = e.emp_id
ORDER BY date DESC
LIMIT 1
) AS l ON TRUE;
하면
SQL Error [1064] [42000]: (conn=9) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(
이런 에러가 생깁니다.
LATERAL 을 인식 못하는 것 같습니다.
답변 1
0
안녕하세요.
MariaDB에서는 쿼리에서 LATERAL 키워드 사용이 불가하고, 내부적으로 Lateral Derived 최적화를 지원하는 것으로 보입니다.
저희 강의 내용은 MySQL 8.0을 기반으로 하므로, 강의에서 소개된 기능 등을 테스트하실 때는 가능하시다면 MySQL 8.0 버전대를 설치해서 테스트해봐주시면 좋을 것 같습니다.
추가로 궁금한 부분 있으시면 다시 말씀해주세요.
감사합니다.