안녕하세요 여러분은 SQL의 AND 절에 대해 특정 질문이 있습니다.내부 조인 또는 WHERE 절의 AND 문 차이점
SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.id = t2.id AND t2.id = 0
SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.id = t2.id WHERE t2.id = 0
공지 사항 쿼리의 끝 부분에 차이 :
두 다음 SQL 문
는 동일한 출력을 제공합니다. 첫 번째 구문에서는 WHERE 절을 사용하지 않고 AND 절을 사용합니다. 두 번째에서는 내 ID를 지정하기 위해 WHERE를 사용합니다.첫 번째 구문이 정확합니까? 그렇다면 성능 측면에서 첫 번째가 더 좋습니다 (WHERE 절을 필터링에 사용하지 않음). 다른 쿼리를 사용하여 다른 결과를 기대해야합니까?
도움 주셔서 감사합니다.
당신은 데이터베이스에 의해 생성 된 쿼리 계획을 살펴보고, 다른 경우 볼 수 있습니다. MySQL 데이터베이스를 사용하면 EXPLAIN 문을 사용하여이를 수행 할 수 있습니다. 다른 데이터베이스의 경우 비슷한 것일 수 있습니다. –