請問這里的是 left join左外連接 為什么不會把左表都刪掉呢? DELETE t1 FROM tdb_goods AS t1 LEFT JOIN (SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name HAVING count(goods_name)>=2) AS t2 ON t1.goods_name = t2.goods_name WHERE t1.goods_id>t2.goods_id;
5 回答
舉報
0/150
提交
取消
2015-11-22
我也看不明白啊。。。。為什么是delete t1 呢。為什么不是delete t1.* 呢
2015-06-19
內連接將兩個表中滿足指定連接條件的記錄連接成新的結果集,舍棄所有不滿足條件的記錄。連接條件會同時過濾兩個表的記錄信息。
外連接:只過濾一個表,對另一個表不進行過濾
2014-09-24
用inner join 效果一樣.
2014-08-03
delete t1 from ....... where t1.goods_id > t2.goods.id;
有where條件限制 只刪除連接后結果表中t1.goods_id > t2.goods.id 的t1的數據
2014-07-21
這個SQL語句中的子查詢語句,查詢的結果是重復的記錄,整個SQL語句的作用是刪除重復的記錄,并且通過t1.goods_id>t2.goods_id;這個條件,刪除的是重復記錄中id較大的那一條記錄,所以并不會刪除整個左表哦,建議再仔細看看視頻的講解,視頻里面對這個語句先進行分解講解了,講解很清晰的喲^_^