[SQL] 무엇 하위 쿼리를 EXISTS에서 쉽게 읽을 수있다? [닫은]
SQL무엇 하위 쿼리를 EXISTS에서 쉽게 읽을 수있다? [닫은]
그것은 가독성의 문제입니다. 성능 차이가 없습니다. SQL 서버의 이전 버전은 아니지만 더 이상 바보 충분한 메타 데이터를 검색했다.
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);
나는 나에게 직관적으로 보이지 않는 "재미 변형"NULL을 고려 여부입니다.
EXISTS 바에서 SELECT foo는 (바즈에서 선택 NULL을 WHERE baz.id = bar.id); EXISTS 바 FROM foo에 SELECT (바즈 FROM 1/0을 선택 WHERE baz.id = bar.id);
지금 의견에 팝업 질문. 나는 가장 인기있는 RDBMS의 매뉴얼을 연구 :
코드 등등 검색 : 5,048 산출 결과 "1 [(EXISTS". 코드에 대한 SO에 대한 검색 : 생산량 5,154 결과 "SELECT * (EXISTS". 업데이트 링크 카운트 07.2015.
SELECT 그래서 * 인기 투표와 옆에 큰 상용 RDBMS가 있습니다. 나는 1보다 직관적 SELECT 찾을 수 있습니다. 그것은 "하나 이상 존재하는 경우"말하는 것과 같습니다. SELECT *는보다 직관적인가?
해결법
-
==============================
1.직관적 인 당신이 정말로 치료를하지 않기 때문에 (.. SELECT * EXISTS입니다 ...
직관적 인 당신이 정말로 치료를하지 않기 때문에 (.. SELECT * EXISTS입니다 ...
-
==============================
2.난 아직도 사용 (SELECT * ...)를 EXISTS, 역사에 대한 (GBN : 그 히스테리해야합니까?) 이유. 기술적으로, 물론 차이는 없다; 옵티마이 / 플래너를 버리고 1 비트의 정보로 줄일 수 있습니다. 인간의 독자를 위해 더 특별한 * 외모, 그것은 특별한 상징으로 눈에 띄는, 그리고 값이나 상수로합니다. 또한, 나는 내 프로그램 (결국, 단지 0과 1을 유지한다)에 리터럴과 마법 상수의 양을 감소시키는 경향이있다.
난 아직도 사용 (SELECT * ...)를 EXISTS, 역사에 대한 (GBN : 그 히스테리해야합니까?) 이유. 기술적으로, 물론 차이는 없다; 옵티마이 / 플래너를 버리고 1 비트의 정보로 줄일 수 있습니다. 인간의 독자를 위해 더 특별한 * 외모, 그것은 특별한 상징으로 눈에 띄는, 그리고 값이나 상수로합니다. 또한, 나는 내 프로그램 (결국, 단지 0과 1을 유지한다)에 리터럴과 마법 상수의 양을 감소시키는 경향이있다.
-
==============================
3.의 맥락에서 SQL 최적화 그것만큼 뭔가를 반환으로 반환 중요하지 않은 것을 알고있는 존재한다. 그래서 당신에게 그것은 중요하지 않습니다.
의 맥락에서 SQL 최적화 그것만큼 뭔가를 반환으로 반환 중요하지 않은 것을 알고있는 존재한다. 그래서 당신에게 그것은 중요하지 않습니다.
직관적 인의 경우 : I *이 잘 될 것이라고 생각하지 않습니다.
- 1 (또는 다른 것)을 의미 "조금이라도 부분이 있는지 여부를 확인"는 말로 요청하는 것이 좋습니다.
from https://stackoverflow.com/questions/7710153/what-is-easier-to-read-in-exists-subqueries by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 그것은 특정 값에 대해 열을 쉼표로 구분을 조회 할 수 있습니까? (0) | 2020.04.12 |
---|---|
[SQL] 날짜 시간 SQL에 유닉스 시간을 변환 (오라클) (0) | 2020.04.12 |
[SQL] 내부 조인에서 SQL 업데이트 (0) | 2020.04.12 |
[SQL] SQL 서버 결정적 사용자 정의 함수 (0) | 2020.04.12 |
[SQL] 데이터베이스 내에서 주소 표준화 (0) | 2020.04.12 |