I have two tables with a one-to-many relationship. How can I find the rows in my parent table that don't have a corresponding entry in my child table? Thanks!
This one is pretty straightforward; the EXISTS operator and a correlated sub-query work well here:
select * from ParentTable pt where not exists ( select * from ChildTable ct where ct.ParentID = pt.ParentID )
For More Information
- What do you think about this answer? E-mail the edtiors at editor@searchDatabase.com with your feedback.
- The Best SQL Web Links: tips, tutorials, scripts, and more.
- Have an SQL tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize. Submit your tip today!
- Ask your technical SQL questions -- or help out your peers by answering them -- in our live discussion forums.
- Ask the Experts yourself: Our SQL, database design, Oracle, SQL Server, DB2, metadata, object-oriented and data warehousing gurus are waiting to answer your toughest questions.