> 데이터 베이스 > MySQL 튜토리얼 > EXISTS 하위 쿼리: SELECT * 또는 SELECT 1 – 어느 것이 더 읽기 쉽습니까?

EXISTS 하위 쿼리: SELECT * 또는 SELECT 1 – 어느 것이 더 읽기 쉽습니까?

Patricia Arquette
풀어 주다: 2024-12-29 16:04:12
원래의
960명이 탐색했습니다.

EXISTS Subqueries: SELECT * or SELECT 1 – Which is More Readable?

EXISTS 하위 쿼리의 가독성

EXISTS 하위 쿼리를 사용할 때 두 가지 주요 옵션이 있습니다.

SELECT foo FROM bar WHERE EXISTS (SELECT * FROM baz WHERE baz.id = bar.id);
SELECT foo FROM bar WHERE EXISTS (SELECT 1 FROM baz WHERE baz.id = bar.id);
로그인 후 복사

성능 관점에서는 둘 다 동일합니다. 그러나 가독성에 대한 의문이 생깁니다.

매뉴얼과 공통 사용법

다양한 RDBMS 매뉴얼과 온라인 검색을 통해 실시한 연구에 따르면 다음과 같은 차이가 있는 것으로 보입니다.

  • Microsoft SQL, Oracle 및 MySQL은 SELECT *를 선호합니다. 예.
  • PostgreSQL은 SELECT 1을 선호합니다.
  • SQLite는 명시적인 예를 제공하지 않습니다.

스택 오버플로 검색 결과는 SELECT *의 보급률이 약간 더 높다는 것을 나타냅니다. 코드입니다.

직관적 접근 방식

SELECT *가 더 직관적인지에 대한 질문입니다. 그러나 대답은 그것이 가장 직관적인 선택이 아니라는 것을 암시합니다. 대신 SELECT 1이 권장되는 이유는 다음과 같습니다.

  • 존재 조건을 명시적으로 명시합니다.
  • 하위 쿼리에서 반환된 특정 행이 관련이 없음을 지정하는 ANSI 표준과 일치합니다. for EXISTS.
  • SELECT 1이 존재의 지름길이라는 신화를 폭로합니다.

결론

명확한 합의는 없지만 EXISTS 하위 쿼리의 SELECT 1이 더 직관적이라고 주장됩니다. 존재 측면을 강조하고 표준에 부합하며 오해를 해소합니다. 결국 가독성 선호도는 개발자의 이해도와 스타일에 따라 달라질 수 있습니다.

위 내용은 EXISTS 하위 쿼리: SELECT * 또는 SELECT 1 – 어느 것이 더 읽기 쉽습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿