Change Dir

先知cd——热爱生活是一切艺术的开始

统计

留言簿(18)

积分与排名

“牛”们的博客

各个公司技术

我的链接

淘宝技术

阅读排行榜

评论排行榜

Leetcode-Database-175-Combine Two Tables-Easy

大概上周看到leetcode开始做数据相关的挑战题目,目前是基于MySQLSql测试题目。作为一个现在hive sql占掉大部分工作时间的码农,还是可以选择来练练手,今天立帖把这些题目一一解决。

 

第一题的描述:题目地址:https://oj.leetcode.com/problems/combine-two-tables/

一张表叫做Person,主键是PersonId

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| PersonId    | int     |
| FirstName   | varchar |
| LastName    | varchar |
+-------------+---------+

 

另一张表叫做Address,主键是AddressId

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| AddressId   | int     |
| PersonId    | int     |
| City        | varchar |
| State       | varchar |
+-------------+---------+

 

 

题目要求写一个sql完成查询任务:把Person表中每个人的FirstNameLastNameCityState都查询出来。

这明显是个非常简单的sql,只要拿Person表做左表进行left outer join即可(当然做右表进行right join也行)

 1 select
 2     o1.FirstName
 3     ,o1.LastName
 4     ,o2.City
 5     ,o2.State
 6 from(
 7     select * from Person
 8 )o1
 9 left outer join(
10     select * from Address
11 )o2
12 on(o1.PersonId = o2.PersonId)

 

最后,啰嗦几句,在我们现在的软件开发过程中,数据处理应该是一个工程师必备的技能,身在大公司,可能sql的编写有很多的限制,有的甚至不需要工程师来编写,直接交给DBA就行了。在这样的环境下,开发工程师往往丢掉了数据库的基本功。而在大数据的浪潮下,在hive\pig\ODPS下编写 sql 也成了数据开发工程师的基本技能,数据开发不能仅仅停留在写sql实现功能,最重要的是理解Hadoop生态下,各种sql语句的原理。就像开发一样,要写出最高效的sql来处理数据。我相信leetcode对于sql的挑战会是一个不错的平台,大家加油~~



posted on 2015-01-27 16:23 changedi 阅读(2582) 评论(4)  编辑  收藏 所属分类: 数据

评论

# re: Leetcode-Database-175-Combine Two Tables-Easy 2015-01-31 17:55 京山游侠

select
o1.FirstName
,o1.LastName
,o2.City
,o2.State
from
Person as o1
,Address as o2
where
o1.PersonId = o2.PersonId
不行吗?  回复  更多评论   

# re: Leetcode-Database-175-Combine Two Tables-Easy 2015-01-31 17:57 京山游侠

1.能否详细介绍下LeetCode?
2.以后发随笔能否用中文标题,很多人看到英文标题就直接跳过了。  回复  更多评论   

# re: Leetcode-Database-175-Combine Two Tables-Easy 2015-02-02 10:33 changedi

@京山游侠
这个sql当然可以,我的sql在hive通用
  回复  更多评论   

# re: Leetcode-Database-175-Combine Two Tables-Easy 2015-02-02 10:35 changedi

@京山游侠
不是所有都是英文标题,leetcode是个算法题目的测试平台,类似ACM算法竞赛的很多OJ  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: