I have to come up with 5 different ways (unique execution plans) to process the following query.
Find the items that are delivered by all suppliers.

My database holds the following tables:
QSPL it holds a list of supplier names
SPLNO (number)
SPLNAME (varchar)

QDEL it holds delivery items, suppliers, and departments
DELNO (number)
DELQTY (number)
ITEMNAME (varchar)
DEPTNAME (varchar)
SPLNO (number)

QITEM it holds list of items
ITEMNAME (varchar)
ITEMTYPE (varchar)
ITEMCOLOR (varchar)

I was able to successfully come up with the following four unique queries.

1.
select itemname --, etc.
from qitem
where itemname not in
(select itemname
from qitem, qspl
where (char(splno)+itemname) not in
(select char(splno)+itemname
from qdel));

2.
select itemname --,etc.
from qitem
where not exists
(select *
from qspl
where not exists
(select *
from qdel
where qdel.itemname = qitem.itemname
and Qdel.splno = qspl.splno));

3.
select a.itemname --, etc
from qitem a join qdel b on a.itemname = b.itemname
group by a.itemname
having count (distinct splno) = (select count(*) from qspl);

4.
select itemname
from qdel
group by itemname
having count (distinct splno) = (select count(*) from qspl);


I have no idea what to do for a 5th unique query.
Does anyone have a clue?

I tried to put this question in the best possible context with significant detail, feedback is greatly appreciated.

Thanks