[SQL] 오라클의 FROM 절없이 선택
SQL오라클의 FROM 절없이 선택
의 SQL 서버 테이블을 참조하지 않고 SELECT를 수행 할 수있다; 뭔가 같은 :
Select 1.2 +3, 'my dummy string'
오라클은없는 SELECT를 FROM 허용하지 않습니다, 저는 이러한 유형의 작업에 대한 이중 테이블을 사용; 뭔가 같은 :
Select 1,2+3, 'my dummy string' FROM DUAL
이러한 유형의 쿼리를 수행하는 더 좋은 방법이 있나요? 이 듀얼 테이블을 사용하는 것이 좋습니다 무엇입니까?
해결법
-
==============================
1.아니, 오라클에 FROM 없이는 SELECT 없다.
아니, 오라클에 FROM 없이는 SELECT 없다.
듀얼 테이블을 사용하는 것은 좋은 연습입니다.
듀얼 - 메모리 테이블이다. 당신이 그것에서 더미를 선택하지 않은 경우에는 I / O를 필요로하지 않는 특별 액세스 경로 (FAST DUAL)를 사용합니다.
옛날 옛적에, 듀얼는 두 개의 레코드 (따라서 이름)을했고, 함께 결합되는 기록을 복제 더미 레코드 역할을하도록했다.
지금은 가지고 있지만 하나 개의 레코드,하지만 당신은 여전히 그것으로 행의 임의의 수를 생성 할 수 있습니다 :
SELECT level FROM dual CONNECT BY level <= 100
MySQL은 또한합니다 (fromless 구문뿐만 아니라) 이중 지원합니다.
-
==============================
2.당신이 실제로 SELECT를 사용하지 않아도 시간의 대부분을 잊지 마세요.
당신이 실제로 SELECT를 사용하지 않아도 시간의 대부분을 잊지 마세요.
대신에:
SELECT sysdate INTO l_date FROM dual; SELECT CASE WHEN i = j THEN 0 ELSE 1 END INTO l_foo FROM dual; ...
당신이 사용할 수있는
l_date := sysdate; l_foo := CASE WHEN i = j THEN 0 ELSE 1 END; ...
-
==============================
3.예, 듀얼 테이블은 보통이 정확한 목적을 위해 사용됩니다. 이 선택 할 테이블이없는 경우는 오라클에서 꽤 표준입니다.
예, 듀얼 테이블은 보통이 정확한 목적을 위해 사용됩니다. 이 선택 할 테이블이없는 경우는 오라클에서 꽤 표준입니다.
-
==============================
4.난 당신이 이중 사용 돼 생각합니다. 당신이 테이블 이름이없는 SQL을 실행해야 할 때 사용됩니다. 나는 날짜 뭔가 달렸다 또는 그런 멍청한 짓 밖으로 에코 SQL 스크립트에서 것보다 훨씬 다른를 사용하여 말할 수 없습니다.
난 당신이 이중 사용 돼 생각합니다. 당신이 테이블 이름이없는 SQL을 실행해야 할 때 사용됩니다. 나는 날짜 뭔가 달렸다 또는 그런 멍청한 짓 밖으로 에코 SQL 스크립트에서 것보다 훨씬 다른를 사용하여 말할 수 없습니다.
-
==============================
5.사실, SQL 서버의 구현이 아닌 표준입니다. 는 SQL-92 표준 (7.9 절)은 SELECT 문에서 FROM 절을 필요로한다. DUAL은 스칼라 행을 얻기 위해 선택하는 테이블을 제공하는 오라클의 방법입니다.
사실, SQL 서버의 구현이 아닌 표준입니다. 는 SQL-92 표준 (7.9 절)은 SELECT 문에서 FROM 절을 필요로한다. DUAL은 스칼라 행을 얻기 위해 선택하는 테이블을 제공하는 오라클의 방법입니다.
-
==============================
6.예, 듀얼 테이블은 오라클에서이 작업을 수행하는 일반적인 방법입니다. 사실, 그것은 단지이 도입되었다.
예, 듀얼 테이블은 오라클에서이 작업을 수행하는 일반적인 방법입니다. 사실, 그것은 단지이 도입되었다.
DUAL의 가장 큰 장점은 너무 빨리 당신이 자신을 만든 단일 행 테이블을 사용하는 경우보다 수를 사용하여 쿼리, 오라클의 최적화가 특별한 알고 있다는 것입니다. 그 외에는, 그것에 대해 아무것도 특별한있다.
from https://stackoverflow.com/questions/1881853/select-without-a-from-clause-in-oracle by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 하위 쿼리와 SQL의 UPDATE 그 참조 MySQL은 같은 테이블 (0) | 2020.05.23 |
---|---|
[SQL] MySQL의 GROUP_CONCAT 중복 (0) | 2020.05.23 |
[SQL] 포스트 그레스에서 여러 행으로 분할 열 (0) | 2020.05.23 |
[SQL] SQL 관리 스튜디오에서 CommandTimeout이 변경 (0) | 2020.05.23 |
[SQL] EXISTS보다 내부가 제공하는 더 나은 성능을 가입 할 수 있습니다 (0) | 2020.05.23 |