草庐IT

sql - 在 SQL 中,为什么在子查询中不使用 "Distinct",在其他表中查找某些项目 "not showing up"?

通常在查找其他表中没有出现的项目时,我们可以使用:select*fromgiftswheregiftIDnotin(selectgiftIDfromsentgifts);或select*fromgiftswheregiftIDnotin(selectdistinctgiftIDfromsentgifts);第二行添加了“distinct”,这样生成的表格就更小了,可能也让搜索“notin”的速度更快了。那么,使用“distinct”不是很可取吗?通常,在这种情况下,我看不到它在子查询中使用。使用它有优势还是劣势?谢谢。 最佳答案 S

sql - 在 SQL/MySQL 中,join 语句中的 "ON"和 "WHERE"有什么区别?

以下语句给出相同的结果(一个使用on,另一个使用where):mysql>select*fromgiftsINNERJOINsentGiftsONgifts.giftID=sentGifts.giftID;mysql>select*fromgiftsINNERJOINsentGiftsWHEREgifts.giftID=sentGifts.giftID;我只能在左外连接的情况下看到“不匹配”的情况:(找出从未有人送过的礼物)mysql>selectnamefromgiftsLEFTOUTERJOINsentgiftsONgifts.giftID=sentgifts.giftIDWHER

sql - 在 SQL/MySQL 中,join 语句中的 "ON"和 "WHERE"有什么区别?

以下语句给出相同的结果(一个使用on,另一个使用where):mysql>select*fromgiftsINNERJOINsentGiftsONgifts.giftID=sentGifts.giftID;mysql>select*fromgiftsINNERJOINsentGiftsWHEREgifts.giftID=sentGifts.giftID;我只能在左外连接的情况下看到“不匹配”的情况:(找出从未有人送过的礼物)mysql>selectnamefromgiftsLEFTOUTERJOINsentgiftsONgifts.giftID=sentgifts.giftIDWHER