首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基本MySQL命令含义

问基本MySQL命令含义
EN

Stack Overflow用户
提问于 2021-01-07 05:02:29
回答 1查看 40关注 0票数 1

我是SQL的新手,在这个“删除重复”的问题上我很困惑。

名为'Person‘的表包含两列: Id和Email,我想删除该表中所有重复的电子邮件条目,只保留基于其最小Id的唯一电子邮件条目。

答案应该是这样的:

代码语言:javascript
复制
DELETE p1 
FROM Person p1, Person p2
WHERE p1.Email = p2.Email 
AND p1.Id > p2.Id

我的问题是,这里的p1是什么?“Person p1”这个用法是什么意思?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-07 05:16:37

假设您有一个名为person_office_job_join的表,这张表很难吃。p1和p2是别名。这意味着您可以简化对表的引用。

例如:

代码语言:javascript
复制
SELECT * 
FROM person LEFT JOIN person_office_job_join poj 
WHERE poj.person_id =  person.id

等同于

代码语言:javascript
复制
SELECT * 
FROM person LEFT JOIN person_office_job_join  
WHERE person_office_job_join.person_id =  person.id

在您的特定情况下,它允许您在同一个表上进行连接,从而找到重复项。假设有一个更复杂的查询,您希望在指定表名的同时执行更多操作。有一个速记参考是很棒的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65603315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档