码迷,mamicode.com
首页 > 数据库 > 详细

sql 中多表查询-leetcode : Combine Two Tables

时间:2017-07-29 19:34:50      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:com   相同   name   取数   数据库   取数据   logs   不同   stat   

技术分享

因为对数据库的内容早都忘得差不多了,所以我的第一感觉是:

 

select Person.FirstName, Person.LastName, Address.City from Person, Address where Person.PersonId=Address.PersonId

结果出错了:

技术分享

因为至少这个人是存在的,只是没有她的地址,你不至于搜不到吧, 但是我这种写法是引用两个表,从两个表中获取数据,就是找两者相同的情况下的结果.

使用join 可以连接两个表:

join: 如果表中有一个匹配,则返回行,

select Person.FirstName, person.LastName,Address.City, Address.State from Person join Address on Person.PersonId=Address.PersonId

  (因为连个表中属性不同命,也可以不在属性前加 表名)

技术分享

 

left join: 即使右表中没有匹配,也从左表中返回所有的行

技术分享

符合要求

right join: 即使左表中没有匹配,也从右表中返回所有的行

 技术分享

 

sql 中多表查询-leetcode : Combine Two Tables

标签:com   相同   name   取数   数据库   取数据   logs   不同   stat   

原文地址:http://www.cnblogs.com/fanhaha/p/7257100.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!