通常在查找其他表中没有出现的项目时,我们可以使用:select*fromgiftswheregiftIDnotin(selectgiftIDfromsentgifts);或select*fromgiftswheregiftIDnotin(selectdistinctgiftIDfromsentgifts);第二行添加了“distinct”,这样生成的表格就更小了,可能也让搜索“notin”的速度更快了。那么,使用“distinct”不是很可取吗?通常,在这种情况下,我看不到它在子查询中使用。使用它有优势还是劣势?谢谢。 最佳答案 S
以下语句给出相同的结果(一个使用on,另一个使用where):mysql>select*fromgiftsINNERJOINsentGiftsONgifts.giftID=sentGifts.giftID;mysql>select*fromgiftsINNERJOINsentGiftsWHEREgifts.giftID=sentGifts.giftID;我只能在左外连接的情况下看到“不匹配”的情况:(找出从未有人送过的礼物)mysql>selectnamefromgiftsLEFTOUTERJOINsentgiftsONgifts.giftID=sentgifts.giftIDWHER
以下语句给出相同的结果(一个使用on,另一个使用where):mysql>select*fromgiftsINNERJOINsentGiftsONgifts.giftID=sentGifts.giftID;mysql>select*fromgiftsINNERJOINsentGiftsWHEREgifts.giftID=sentGifts.giftID;我只能在左外连接的情况下看到“不匹配”的情况:(找出从未有人送过的礼物)mysql>selectnamefromgiftsLEFTOUTERJOINsentgiftsONgifts.giftID=sentgifts.giftIDWHER