반응형
MariaDB Left join이 예상 결과를 반환하지 않음
그래서 python에서 자동화된 마리아 백업 복원을 시도하기 위해 테이블 목록과 테이블에 존재하는 외부 제약 조건을 가져오려고 합니다.다음 쿼리를 실행하고 있습니다.
SELECT a.TABLE_NAME, b.CONSTRAINT_NAME from information_schema.tables a
LEFT JOIN information_schema.table_constraints b
ON a.table_name = b.table_name
WHERE a.table_schema = 'world'
AND b.constraint_type = 'FOREIGN KEY';
내 "세계" 테스트 테이블에는 국가(FK 없음), 국가 언어(1개) 및 도시(1개)의 3개 열이 있습니다.위의 질문으로 저는 3개의 테이블, 2개의 FK 이름을 반환하고 1개의 Null을 예상할 수 있지만, 제가 받는 반환은 FK가 있는 2개의 테이블뿐입니다.
분명히 뭔가를 놓쳤지만 정확히 꼬집어 말할 수는 없습니다.
왼쪽 조인 조건은 ON 절에서 이동해야 하며 다음 위치에서 이동하면 안 됩니다.
select a.TABLE_NAME
, b.CONSTRAINT_NAME
from information_schema.tables a
left join information_schema.table_constraints b
on a.table_name = b.table_name
and b.constraint_type = 'FOREIGN KEY';
where a.table_schema = 'world'
이 절이 내부 조인으로 작동하는 왼쪽 조인 테이블 열을 사용하는 경우.따라서 juts는 왼쪽 조인된 열에 대해 다른 절과 함께 ON 조건을 확장합니다.
언급URL : https://stackoverflow.com/questions/55108483/mariadb-left-join-not-returning-expected-results
반응형
'programing' 카테고리의 다른 글
괄호가 없는 "raise exception()"과 "raise exception"의 차이점이 있습니까? (0) | 2023.07.24 |
---|---|
NLS_NCHAR_CHARACSET과 NLS_CHARACSET for Oracle 간의 차이 (0) | 2023.07.24 |
업데이트 쿼리의 SQL 트리거에 오류가 있습니다. (0) | 2023.07.24 |
Prepared Statement에서 매개 변수 설정이 작동하지 않음 (0) | 2023.07.24 |
대형 MySQL InnoDB 테이블 변경 (0) | 2023.07.24 |