>I realize your example may not reflect the specific needs of your 
>application, ...

Yea, my actual application required a query too complex to be
put in an ordinary "where" clause.   I think I've figured it
out - think of the "exists" clause as sort of an implied
join with the table to be partially deleted.

if the selection query is similar to:

  select * from image left join attribute on image.uid=attribute.value

I suppose if SQL had anything like a consistent syntax, I would
expect to write this as something like:

  delete from image left join attribute on image.uid=attribute.value

SQL doesn't allow this, but this "exists" clause is what you can use instead.

  delete from image where exists 
    (select * from attribute on attribute.value = image.uid)

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to