基本MySQL命令的含义
我是SQL新手,对这个“删除重复项”的问题感到困惑 一个名为“Person”的表包含两列:Id和Email,我想删除此表中所有重复的电子邮件条目,只保留基于其最小Id的唯一电子邮件 答案应该是:基本MySQL命令的含义,mysql,sql-delete,Mysql,Sql Delete,我是SQL新手,对这个“删除重复项”的问题感到困惑 一个名为“Person”的表包含两列:Id和Email,我想删除此表中所有重复的电子邮件条目,只保留基于其最小Id的唯一电子邮件 答案应该是: DELETE p1 FROM Person p1, Person p2 WHERE p1.Email = p2.Email AND p1.Id > p2.Id 我的问题是p1是什么?“Person p1”的用法是什么意思?假设您有一个表,名为Person\u office\u job\u j
DELETE p1
FROM Person p1, Person p2
WHERE p1.Email = p2.Email
AND p1.Id > p2.Id
我的问题是p1是什么?“Person p1”的用法是什么意思?假设您有一个表,名为
Person\u office\u job\u join
,这个表非常丰富。p1
和p2
是别名。这意味着您可以简化对表的引用
e、 g
选择*
从左起加入人员\办公室\工作\加入poj
其中poj.person\u id=person.id
与
SELECT *
FROM person LEFT JOIN person_office_job_join
WHERE person_office_job_join.person_id = person.id
在您的特定情况下,它允许您加入同一个表,从而找到重复的表。想象一个更复杂的查询,在这里您需要做更多的工作,同时指定表名。有一个速记参考是很好的。嗨,
个人p1
是一个。我应该先声明“个人为p1”吗?谢谢你的回复。“个人办公室工作加入poj”似乎是“个人办公室工作加入poj”的缩写。是的,这是正确的