DataWhale MySql 第5期---任务4:MySQL 基础 (三)- 表联结

项目五:组合两张表 (难度:简单)

在数据库中创建表1和表2,并各插入三行数据(自己造) 表1: Person +-------------+---------+ | 列名 | 类型 | +-------------+---------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | +-------------+---------+ PersonId 是上表主键 表2: Address +-------------+---------+ | 列名 | 类型 | +-------------+---------+ | AddressId | int | | PersonId | int | | City | varchar | | State | varchar | +-------------+---------+ AddressId 是上表主键 .

编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:FirstName, LastName, City, State.

解决过程如下:

step1:创建两个表,并且插入上秒所述数据,代码就不放了,和前面博客里创建表格及插入数据的代码基本一样,所建表格内容如下图所示;

step2:查询代码如下:

SELECT  FirstName,LastName,City,State

FROM Person LEFT JOIN Address ON Person.PersonId=Address.PersonId

step3:代码运行结果如下:

 

 

项目六:删除重复的邮箱(难度:简单)

编写一个 SQL 查询,来删除 email 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。 +----+---------+ | Id | Email | +----+---------+ | 1 | a@b.com | | 2 | c@d.com | | 3 | a@b.com | +----+---------+ Id 是这个表的主键。 例如,在运行你的查询语句之后,上面的 Email表应返回以下几行: +----+------------------+ | Id | Email | +----+------------------+ | 1 | a@b.com | | 2 | c@d.com | +----+------------------+

解决过程如下:

step1:通项目五的step1

step2:查询代码如下:

SELECT min(Id),Email

FROM email

GROUP BY Email

step3:代码运行结果如下:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值