我有兩個表的曲目列表和歌曲。我從sid獲取所有sid值作爲主參數,並將sid作爲外部參數。儘管使用此查詢從歌曲中提取所有值是成功的。問題與連接查詢
SELECT t.sid as tsid, s.sid as ssid, s.name from song s LEFT JOIN tracklist t ON s.sid=t.sid;
但是,如果我希望從歌曲中獲取那些不在曲目列表中的值,則此查詢不會獲取單行。
SELECT t.sid as tsid, s.sid as ssid, s.name from song s LEFT JOIN tracklist t ON s.sid=t.sid where t.sid= NULL;
您是否嘗試過使用'JOIN'或'INNER JOIN',而不是一個'LEFT JOIN'? – JMichelB
我不知道爲什麼你的第二個查詢失敗(對我來說看起來沒問題),但我會爲第一個查詢使用內部連接。 –
@JMichel否使用左連接來查找不在表中的行是合法的。甚至mysql文檔[提及它](http://dev.mysql.com/doc/refman/5.0/en/left-join-optimization.html):「如果您使用LEFT JOIN查找不存在的行某些表...「 –