Cleverbum wrote:
> addinall wrote:
> > Cleverbum wrote:
> > > Forgive me if you think the subject is wrong, but I can't quite think
> > > how to describe my question.
> > > I just deleted some rows of a table and need to see if there were any
> > > values in another table linked to the rows I deleted.
> > > I'm looking for a query that would perform:
> > > Show all records from table1 where the value in column `album` is not
> > > contained in the any of the rows in column `uid` of table2
> > > If that makes no sense let me know and I'll try to re-word it and write
> > > an example.
> >
> > select album from table_1
> > union
> > select uid from table_2
> > where
> > uid not in
> > (select album from table_1)
> >
> > I think that seems to be what you require.
> >
> > If not, sorry! I mis-understood, or I'm just plain
> > stupid!
> >
> > Mark Addinall.
>
> That seems closer, what actually seems to do the trick is:
>
> SELECT *
> FROM personal_images
> WHERE album NOT
> IN (
>
> SELECT uid
> FROM personal_albums
> )
This query will produce exactly the asme results as Strawberry's LEFT
JOIN compare with NULL query.
The difference is that the LEFT join is much much much more efficient,
especially if there is an appropriate index.
See
http://dev.mysql.com/doc/refman/5.0/...ubqueries.html