2011-04-14 4 views
3

SQLite에서 예기치 않은 동작이 발견되었습니다. SQLite는 SQL 조인 구문에서 임의의 키워드를 허용합니다. 실수로 을 입력하면 대신에이 자연스럽게 합류합니다. 직교 제품이 생성됩니다. 이것이 예상되는 동작, 기능 또는 버그입니까? SQLite는 데이터베이스 소프트웨어의 뛰어난 조각과 내가 중간 크기 프로젝트에 작은에서 추천 : SQLite에서 존재하지 않는 조인 유형을 받아들입니다.

select count(*) from pri; -- 22 
select count(*) from sec; -- 57458 

select count(*) from pri natural join sec; -- 57458 
select count(*) from pri nautral join sec; -- 1264076 
select count(*) from pri advanced natural join sec; -- 57458 
select count(*) from pri imaginary join sec; -- 1264076 

은 추가하려면 윈도우 7에 데비안 6.0 SQLite는 3.7.5에 SQLite는 3.7.3로

을 테스트 . 여기 my brief SQLite vs PostgreSQL comparison.

답변

2

nautralimaginary이 테이블에 별칭으로 구문 분석이다 : 그것을 설명

select count(*) from (pri) natural join sec; -- 57458 
select count(*) from (pri AS nautral) join sec; -- 1264076 
select count(*) from (pri AS advanced) natural join sec; -- 57458 
select count(*) from (pri AS imaginary) join sec; -- 1264076 
+0

. 고맙습니다! – XDF

관련 문제