CREATE CURSOR orders (ord_pk I, ord_dummy C(10)) CREATE CURSOR Orderlines (orl_pk I, orl_ordfk I, orl_itmfk I) CREATE CURSOR Items (itm_pk I, itm_name C(10)) * fail SELECT * FROM orders O ; WHERE EXISTS(SELECT 1 FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk ; WHERE orl_ordfk = O.ord_pk AND itm_name = "BIKE") OR ; EXISTS(SELECT 1 FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk ; WHERE orl_ordfk = O.ord_pk AND itm_name = "SCOOTER") * fail SELECT * FROM orders O ; WHERE EXISTS(SELECT * FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk ; WHERE orl_ordfk =O.ord_pk AND itm_name = "BIKE" OR orl_ordfk = O.ord_pk AND itm_name = "SCOOTER") * good SELECT * FROM orders O ; WHERE EXISTS(SELECT * FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk ; WHERE orl_ordfk =O.ord_pk AND (itm_name = "BIKE" OR itm_name = "SCOOTER")) * good SELECT * FROM orders O ; WHERE EXISTS(SELECT * FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk ; WHERE orl_ordfk =O.ord_pk AND itm_name IN ("BIKE","SCOOTER")) * good SELECT * FROM orders O ; WHERE O.ord_pk IN (SELECT orl_ordfk FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk ; WHERE itm_name IN ("BIKE","SCOOTER")) * good !!!! SELECT * FROM orders O ; WHERE O.ord_pk IN (SELECT orl_ordfk FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk WHERE itm_name = "BIKE"); OR ; O.ord_pk IN (SELECT orl_ordfk FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk WHERE itm_name = "SCOOTER")