mysql多表联查关键字on,where的选择
表1: Person
±------------±--------+
| 列名 | 类型 |
±------------±--------+
| PersonId | int |
| FirstName | varchar |
| LastName | varchar |
±------------±--------+
PersonId 是上表主键
unix是什么牌子表2: Address
±------------±--------+
| 列名 | 类型 |
±------------±--------+
数据库系统的组成成员
| AddressId | int |
基本数据类型和引用类型| PersonId | int |
| City | varchar |
| State | varchar |
±------------±--------+
AddressId 是上表主键
编写⼀个 SQL 查询,满⾜条件:⽆论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:
FirstName, LastName, City, State
手机网站建设免费
提⽰:
数据库在通过连接两张或多张表来返回记录时,都会⽣成⼀张中间的临时表,然后再将这张临时表返回给⽤户。 在使⽤left join时,on和where条件的区别如下:
1、on条件是在⽣成临时表时使⽤的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
二级c语言程序改错题题库2、where条件是在临时表⽣成好后,再对临时表进⾏过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。
解答:
select p.FirstName, p.LastName, a.City, a.State
mysql语句多表查询
from Person p left join Address a
on p.personid=a.personid

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。