【leetcode】 database Combine Two Tables
2015-08-04 22:41
585 查看
Table:
Table:
Write a SQL query for a report that provides the following information for each person in the Person table, regardless if there is an address for each of those people:
题目很是简单,合并两个表。
本来以为很easy,后来发现确实很easy。 = =
WA sql:
这个sql会出现错误,以为是内连接。会自动消除一些没有匹配的记录。
正确的sql,应该用外链接。
sql:
使用LEFT OUTER JOIN or RIGHT OUTER JOIN 都是可以的。
我们需要注意的有两点:
1,外部联接中,OUTER JOIN 是用ON 类进行 匹配(说过滤好像不太准确)的。
2,LEFT 和 RIGHT 的区别是 一 哪个为全。 具体详情可以查看/article/1812121.html
主要还是认识了,外联接的一些知识。
Person
+-------------+---------+ | Column Name | Type | +-------------+---------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | +-------------+---------+ PersonId is the primary key column for this table.
Table:
Address
+-------------+---------+ | Column Name | Type | +-------------+---------+ | AddressId | int | | PersonId | int | | City | varchar | | State | varchar | +-------------+---------+ AddressId is the primary key column for this table.
Write a SQL query for a report that provides the following information for each person in the Person table, regardless if there is an address for each of those people:
FirstName, LastName, City, State
题目很是简单,合并两个表。
本来以为很easy,后来发现确实很easy。 = =
WA sql:
<span style="font-size:18px;"></span><pre name="code" class="sql">SELECT p.FirstName, p.LastName, a.City, a.State FROM Person as p, Address as a WHERE p.PersonId = a.PersonId;
这个sql会出现错误,以为是内连接。会自动消除一些没有匹配的记录。
正确的sql,应该用外链接。
sql:
SELECT p.FirstName, p.LastName, a.City, a.State FROM Person as p LEFT OUTER JOIN Address as a ON p.PersonId = a.PersonId;or sql:
SELECT p.FirstName, p.LastName, a.City, a.State FROM Address as a RIGHT OUTER JOIN Person as p ON p.PersonId = a.PersonId;
使用LEFT OUTER JOIN or RIGHT OUTER JOIN 都是可以的。
我们需要注意的有两点:
1,外部联接中,OUTER JOIN 是用ON 类进行 匹配(说过滤好像不太准确)的。
2,LEFT 和 RIGHT 的区别是 一 哪个为全。 具体详情可以查看/article/1812121.html
主要还是认识了,外联接的一些知识。
相关文章推荐
- 进程与线程
- C语言实现链队列代码
- CvvImage在高级别的Opencv2.4.11下的配置以及错误解决办法。
- 股票做T要点 分类: 股票技术探讨 2015-08-04 22:41 1人阅读 评论(0) 收藏
- Hello World♂
- 3个gif动画让你明白RotateAnimation的pivotX与pivotY
- 关于接口、关于序列化
- ZOJ_3551_Bloodsucker
- Nginx反向代理实现负载均衡配置图解
- 股票四度空间指标学习心得 分类: 股票技术探讨 2015-08-04 22:40 5人阅读 评论(0) 收藏
- css 提高性能
- Redis 主从复制
- InnoSetup快速入门(二):改变安装界面语言并支持多语言
- php的global
- 运行启动项目时出错:无法启动程序......,拒绝访问
- 航天+互联网
- QT 串口通讯软件编写
- 阿里推荐大赛:ODPS SQL 入门
- POJ 1502:MPI Maelstrom Dijkstra模板题
- jquery冒泡及阻止