MySQL USING
语句做了什么,有没有关于此的文档?
MySQL USING语句示例
DELETE FROM l, s
USING l
INNER JOIN s ON s.skill_id = l.id
WHERE s.user_id = 3
答案 0 :(得分:13)
在DELETE中,您可以在USING子句之后列出表,从中不删除行(即,仅作为WHERE子句的一部分)。例如:
DELETE FROM t1, t2
USING t1
INNER JOIN t2
INNER JOIN t3
WHERE t1.id=t2.id AND
t2.id=t3.id;
您可以通过以下方式使用您的特定示例:
DELETE l,s
FROM l
INNER JOIN s
ON s.skill_id = l.id
WHERE s.user_id = 3
答案 1 :(得分:0)
USING子句用于为JOIN中的两个表设置列存在标准。
所以,如果我有一个声明如:
SELECT * from a
JOIN b
USING (c1,c2)
...
将会发生的事情是MySQL引擎将首先验证两个表中是否存在列c1
和c2
,然后比较这些列的值以在两个表上执行连接。 / p>
请参阅JOIN Syntax的MySQL文档。
答案 2 :(得分:0)
在DELETE的MySQL文档中搜索USING
。它只是一种替代语法。
答案 3 :(得分:0)
USING
语句的语法 -
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
FROM tbl_name[.*] [, tbl_name[.*]] ...
USING table_references
[WHERE where_condition]
详细信息请访问USING