从给定表中删除记录

时间:2014-11-26 01:45:01

标签: sql

我如何删除所有未录制任何爵士乐标题的艺术家

我的艺术家表是:

artistid , artistname,city,regon 

我的标题是:

titleid,artistid titles 

我尝试了这个查询

DELETE a.* 
FROM artists a 
     LEFT JOIN titles t ON a.artistid = t.artistid AND t.genre = 'jazz'
WHERE t.artistid IS NULL 

但结果将删除所有艺术家,除非谁没有录制任何爵士乐冠军!!!

1 个答案:

答案 0 :(得分:0)

除非我误解了您的问题,否则您的查询正是您想要的。您正在删除从未录制过爵士乐标题的艺术家。如果您尝试仅删除已录制爵士乐标题的艺术家,则应将WHERE子句更改为WHERE t.artistid IS NOT NULL,或者最好将LEFT JOIN更改为INNER JOIN }