많은 DBMS (예 : mysql, postgres, mssql)가 fk 및 pk 조합을 사용하여 데이터 변경 사항을 제한하는 경우를 제외하고는 기본적으로 조인 할 열을 자동으로 선택하는 데 거의 사용되지 않습니다 (이름과의 자연 조인처럼). 왜 그런 겁니까? pk / fk를 사용하여 두 테이블 사이의 관계를 이미 정의한 경우 데이터베이스에서 해당 테이블을 조인하면 pk / fk 열에서 조인하려는 이유를 알 수없는 이유는 무엇입니까?
편집 : 이것을 명확히하기 위해 :
table1과 table2가 있다고 가정하십시오. table1 하나는 열 a에 외래 키를 가지고 있으며, 이것은 테이블 2의 기본 키인 b 열을 참조합니다. 이제이 테이블을 조인하면 다음과 같이해야합니다.
SELECT * FROM table1
JOIN table2 ON table1.a = table2.b
그러나 table1.a가 table2.b를 참조하는 키를 이미 정의 했으므로 DBMS 시스템이 table1.a 및 table2.b를 조인 열로 자동 사용하게하는 것은 어렵지 않아야합니다. 하나만 사용하면됩니다 :
SELECT * FROM table1
AUTO JOIN table2
그러나 많은 DBMS는 이와 같은 것을 구현하지 않는 것 같습니다.