如果存在一組項目,我想查詢關係數據庫。查詢關係數據庫中的集合
我建模數據有以下形式:
key1 = [ item1, item3, item5 ]
key2 = [ item2, item7 ]
key3 = [ item2, item3, item4, item5 ]
...
我將它們存儲在一個表下面的模式
CREATE TABLE sets (key INTEGER, item INTEGER);
因此,舉例來說,下面的INSERT語句會插入以上三套。
INSERT INTO sets VALUES (key1, item1);
INSERT INTO sets VALUES (key1, item3);
INSERT INTO sets VALUES (key1, item5);
INSERT INTO sets VALUES (key2, item2);
INSERT INTO sets VALUES (key2, item7);
INSERT INTO sets VALUES (key3, item2);
INSERT INTO sets VALUES (key3, item3);
INSERT INTO sets VALUES (key3, item4);
INSERT INTO sets VALUES (key3, item5);
給定一組項目,我想用一組相關聯的密鑰,如果它被存儲在表和NULL,如果事實並非如此。是否有可能用sql查詢做到這一點?如果是這樣,請提供詳細信息。
詳細信息,可能是相關的:
- 我在數據庫設計/查詢策略主要有興趣,但我最終會在MySQL實現這一點,並使用mysql-Python包在Python從瓶坯查詢。
- 如果不同的佈局對於這種類型的查詢更方便,我可以自由重構數據庫模式。
- 每個集合,如果它存在應該是唯一的。
- 我對部分比賽不感興趣。
- 數據庫規模大約爲< 1000套,其中每套包含< 10個項目,因此此時的性能不是優先級。
在此先感謝。
Iam -1:從現在開始,所有「預先感謝」。所以禁止我! – stefan 2011-03-29 23:08:42
問一個真正的問題。這是值得您的SQL的教授應該教給你(雖然他可能會教你全錯,所以使用互聯網資源,而不是) – stefan 2011-03-29 23:09:28
@stefan,何必那麼認真? – epaps 2011-03-30 00:05:42