If I understand your table structure, this should work: SELECT * FROM lib.books LEFT OUTER JOIN lib.subjects ON books.subjectid = subjects.subjectid WHERE subj_code is NULL Kevin Devine Euclid Public Library Ken Irwin wrote: > Hi folks, > > I'm trying to put together a MySQL query to do something I don't know > how to do: get a list of materials that DON'T show up in a relational > table. > > For example, 3 tables: > > 1) lib.books : lots of bib data including book_id > 2) lib.subjects: subj_code, selector, subject_name > 3) relational: lists book_id & subj_code > > I want to generate a list of books that are in lib.books that doesn't > have any subjects assigned to it. > > I could do this with 2 queries, but it gets unwieldy: get a list of > distinct book_ids and AND/NOT them all together like: > SELECT * FROM books WHERE book_id != '4' and book_id != '7'... > That works on really small sets, but I don't want to go that route. > > Is there a savvy way to structure this MySQL query. I don't even know > the language to use to look for this information. > > Thanks for any help you can provide! > Ken > > -- > Ken Irwin > Reference Librarian > Thomas Library, Wittenberg University