0

I have 2 tables Order and OrderItem. Order table has the column ID_Order and OrderItem has the foreign key FK_Order which is the value from ID_order of order table.

Now I have to create a query showing all entries from table order where no reference is in orderItem (id_order is not used as fk_order in the table orderitem).

Please let me know. I used outer joins..but they are not displaying proper results.

Thanks

Pரதீப்
  • 91,748
  • 19
  • 131
  • 172

1 Answers1

-1

I would recommend using Exist rather than IN clause. Because it will be faster

SELECT *
FROM   Order o
WHERE NOT EXIST (SELECT *
                    FROM   OrderItem oi
                    WHERE o.ID_order = oi.ID_order)

Another way would be LEFT JOIN

SELECT DISTINCT o.*
FROM   Order o LEFT JOIN OrderItem oi 
       ON o.ID_order = oi.ID_order
WHERE oi.ID_order IS NULL
Community
  • 1
  • 1
Mostafa Armandi
  • 879
  • 1
  • 11
  • 24