1
我希望在我的應用程序的 SQliteDatabase上執行以下查詢。SQLite:「IN」比較問題
String sql = "Select col_1,row_id from Table1 where row_id IN(Select
row_id from Table2 where key = 'key')";
我使用SQLiteDataBase
類的rawQuery
功能的 相同。問題是當內部查詢返回0個對象查詢 運行並返回0結果。但是,當內部查詢返回一個Set時,不會執行 查詢。
我們可以在rawQuery中使用這些嵌套查詢嗎?我在這裏錯過了什麼,我 ?
請幫忙。
謝謝。
我對數據庫不太熟悉,所以請原諒我的無知。我有兩個問題: 1.在空間和內存方面JOIN是否比嵌套查詢好? 2.任何想法爲什麼上述查詢不適用於Android?我在SQlite數據庫瀏覽器上試過了,它可以工作。 – Samuh 2010-09-14 10:15:25
數據庫通常經過優化以運行JOIN。內部大多數查詢優化器會將嵌套查詢轉換爲連接。 沒有任何錯誤消息,我不知道爲什麼當子查詢返回一個集合時不起作用。語法是正確的! – halfdan 2010-09-14 10:29:06
+ 10。謝謝你的回答! – Samuh 2010-09-14 10:44:09