2011-11-17 140 views
1

我正在使用MySQL數據庫。在我的數據庫中有一個汽車表,汽車表有幾列,其中一列名爲「」。查詢返回空值

我用下面的查詢從表中取2000輛汽車:

SELECT * FROM cars LIMIT 1,2000; 

我得到的結果是成功的,在國家列顯示所有國家。

然而,當我使用下面的查詢從表中取2000輛汽車:

SELECT country FROM cars LIMIT 1,2000; 

我得到了2000年結果但該國列現在都是空值。爲什麼???可能是什麼原因?

(我有只有100汽車對象具有空的國家,weired我把所有空的國家價值2000個結果在第二查詢。)

回答

1

沒有一個WHEREORDER BY,該數據庫可以自由地決定哪些它想要返回的行,並且不能保證它會決定哪個行是最快獲取的行。

您需要添加一個WHERE條件至少包括:

SELECT country FROM cars WHERE country IS NOT NULL LIMIT 1,2000; 
+0

空值進行了說明,但是,爲什麼他只得到了20行? @Ken White – Zohaib

+0

嗨,我加上where子句,它回到我身上,除此之外,我只有100輛車有空的國家價值,在我的第二個查詢中如何來2000國家的價值是空的。 –

+0

嘿,那20個結果是我的錯字,我得到了2000個空的國家汽車對象 –