我需要這樣進行查詢:使用的自聯接與嵌套PL/SQL查詢
假設如表的列 - <key>,<name>,<value>
,我需要找到一個名稱=「NAME」值在以下條件下。
- 該鍵應該位於keys_i中,其中name_i ='NAME_i'且值='VALUE_i'。
- 該鍵應該位於keys_j中,其中name_j ='NAME_j'和value ='VALUE_j'。
- 密鑰應該位於keys_k中,其中name_k ='NAME_k'且值='VALUE_k'。
我目前使用形式的嵌套查詢:
Select a.value from <table_name> a
where a.name='NAME'
and a.key IN(
Select b.key
from <table_name> b
where (b.name = 'NAME_i' and b.value = 'VALUE_i')
and b.key IN(
Select c.key
from <table_name> c
where (c.name = 'NAME_j'
and c.value = 'VALUE_j')
and c.key IN(
Select d.key
from <table_name> d
where (d.name = 'NAME_k' and d.value = 'VALUE_k'))));
是否有使用自聯接或更廣義的形式,任何其他技術?我的表很小,優化並不是真的需要,但對於大型數據集來說理想的解決方案是什麼?