SELECT *
FROM p USING profile p
LEFT OUTER JOIN inter i ON p.inter_id = i.inter_id
WHERE i.inter_id = 0;
显示错误
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近'USING profile p LEFT OUTER JOIN inter i ON p.inter_id = i.inter' 在第1行
但是
DELETE FROM p USING profile p
LEFT OUTER JOIN inter i ON p.inter_id = i.inter_id
WHERE i.inter_id = 0;
工作正常。
答案 0 :(得分:1)
在JOIN
操作USING
关键字的上下文中使用时,替换ON
:
SELECT *
FROM profile p
LEFT OUTER JOIN inter i USING(inter_id)
WHERE i.inter_id = 0;
这只是经典'的语法糖。 ON
条款:
ON p.inter_id = i.inter_id
但是,在USING
操作的上下文中使用DELETE
关键字时,使用如下:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
FROM tbl_name[.*] [, tbl_name[.*]] ...
USING table_references
[WHERE where_condition]
上述查询表示多表 DELETE
操作:仅匹配FROM
子句中列出的行(USING子句之前的))被删除。
参考: DELETE Syntax