MySQL/PostgreSQL/Oracle 전용 솔루션이 있다면, 나는 그들 모두에 대해 궁금합니다. 최소한의 MySQL/PostgreSQL을에항상 0 결과를 반환하는 SQL 쿼리가 있습니까?
3
A
답변
7
하면 DBMS, 다음 중 하나 이상에 따라 작동합니다 :
SELECT NULL LIMIT 0
(PostgreSQL을와 MySQL 구문)/SELECT TOP 0 1
(MS SQL Server 구문)SELECT NULL WHERE FALSE
(부울 유형이있는 DBMS, 예 : PostgreSQL)SELECT NULL WHERE 1=0
(대부분 당신은 어떤 종류의FROM
절없이SELECT
이없는 수의 DBMS) Oracle의
,이 양식 SELECT NULL FROM DUAL
의 수, 나는 생각이 필요합니다; 어느 버전의 LIMIT
/TOP
및 WHERE
을 수락할지 확실하지 않습니다.
-- PostgreSQL
CREATE TEMP TABLE dummy (a Int, b VarChar(42));
SELECT * FROM dummy;
-- MS SQL Server
CREATE TABLE #DUMMY (a Int, b VarChar(42));
SELECT * FROM #DUMMY;
: 그들은 더 값이 포함 없어도
더 정교한 옵션은 (임시) 테이블을 만들고 당신에게 유형이 관련된 것이다 컬럼의 수를 줄 수있는 그것에 행을 삽입하지 않는 것입니다
CREATE TEMP TABLE empty();
SELECT * FROM empty;
DBMS의 설정을 돌려주는 경우를 functi을 또 다른 가능성은 : PostgreSQL의에서
, 당신은 심지어 당신이 결과가 제로 행과 열을 0으로로 설정 한 수, 아니 열이있는 테이블을 만들 수 있습니다 빈 세트를 반환 할 수 있습니다. 예를 들어, 다시 PostgreSQL의에서 그것이 내가 가장 잘 알고 무엇을, 당신이 generate_series()
에 잘못된 범위를 제공 할 수 있습니다 :
SELECT * FROM generate_series(0,-1);
2
select *
from atable
where 1=2
4
:
SELECT 1 LIMIT 0
2
경우 항상 불가능 뭔가 동일시합니다 값.
Where 1 = 0
Where 'a' = 'b'
등 등
1
이 다양한 답변 : 그러나
SELECT 1 LIMIT 0
SELECT 1 FROM DUAL WHERE 1=0
,주의하시기 바랍니다 행의 수는 0이 아닌 열
수있는 경우에도. 예를 들어
: 당신이 할 수있는 PostgreSQL의에서
INSERT INTO t(a,b) SELECT 1,1 LIMIT 0;
0
을 :
INSERT INTO t(a,b) SELECT 1 LIMIT 0;
!! Error: Column count doesn't match value count at row 1
당신은 쓸 필요가 expression 부울이 있어야한다 on()
에 있기 때문에이 작동
select
*
from
table
join another_table on (false)
.false
을 사용하면 조인은 결코 true
일 수 없습니다.
관련 문제
- 1. 항상 동일한 결과를 반환하는 SQL
- 2. SQL 쿼리가 유효한 결과를 반환하는 경우 PHP
- 3. mysql 쿼리가 항상 빈 결과를 반환하는 이유는 무엇입니까?
- 4. 빈을 반환하는 SQL 쿼리가 보장됩니다.
- 5. SQL 쿼리가 항상 실패합니다.
- 6. EXISTS가있는이 SQL 쿼리가 결과를 반환하는 가장 좋은 방법입니까?
- 7. 쿼리가 둘 이상의 결과를 반환하는 이유는 무엇입니까?
- 8. 하위 쿼리 결과를 항상 반환하는 방법은 무엇입니까?
- 9. 모든 쿼리에 대해 0 결과를 반환하는 V1APIConnector
- 10. queryFixtures는 항상 0 개의 결과를 반환합니다.
- 11. SQL 쿼리가 결과를 반환하지 않습니다.
- 12. Access의 계산 쿼리가 항상 null 결과를 생성합니다.
- 13. SQL 쿼리가 올바른 결과를 가져 오지 못합니다.
- 14. mysql 쿼리가 잘못된 결과를 반환하는 이유는 무엇입니까?
- 15. 쿼리가 DB에서 결과를 반환하는 경우 양식 열기
- 16. XML 쿼리가 항상 결과를 가져 오지는 않습니까?
- 17. 0 행을 반환하는 SQL 업데이트
- 18. 0 개의 결과를 반환하는 Azure 구독
- 19. MongoDB가 0 개의 결과를 반환하는 것을 찾습니다.
- 20. Nutch 검색은 항상 0 개의 결과를 반환합니다.
- 21. 다른 탭에서 다른 결과를 반환하는 Sql 쿼리
- 22. WHERE를 사용하여 여러 결과를 반환하는 sql 쿼리
- 23. SQL 쿼리가 가짜 중복 결과를 반환합니까?
- 24. 가 반환해야 할 때 내 쿼리가 0 결과를 반환 한
- 25. SQL 쿼리가 예상 한 결과를 반환하지 않습니다.
- 26. SQL 쿼리가 결과를 올바르게 정렬하지 않습니다.
- 27. 동적 SQL 쿼리가 서버에 결과를 표시하지 않습니다.
- 28. 동일한 결과를 계속 반환하는 SQL 쿼리
- 29. PHP에서 이와 유사한 결과를 반환하는 SQL 쿼리
- 30. JOIN을 사용하는 동안 내 쿼리가 빈 결과를 반환하는 이유는 무엇입니까?
WHERE 1 = 0' - 시도해보십시오. –
'테이블에서 상위 0 * 선택 ' – Brad
왜 이런 일이 생길지 궁금합니다. – HLGEM