两表联合查询

MySql 码拜 9年前 (2015-10-01) 1016次浏览

A,B两表联合查询,B表中的name和age一行的值如果在A中存在的话,则该行显示A表的记录值,不存在的记录则显示b表的值,例如

Table A:
name                age                 number                    
小芳                   10                      100
小王                   30                      200

Table B:
name                age                 number
小刘                   15                       0
小芳                   10                       0
小王                   30                       0 
小明                   20                       0

满足条件的结果为:
name                age                 number     
小刘                   15                       0               
小芳                   10                      100
小王                   30                      200
小明                   20                       0

谢谢

方案推荐指数:50
select b.name, IFNULL(a.age,b.age),IFNULL(a.number,b.number)
from b left join a on a.name=b.name
方案推荐指数:50
B表中的name和age一行的值如果在A中存在的话,则该行显示A表的记录值,
a.name=b.name and a.age=b.age
不存在的记录则显示b表的值  b left join a
所以:
select b.name, IFNULL(a.age,b.age),IFNULL(a.number,b.number)
from b left join a on a.name=b.name and a.age=b.age

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明两表联合查询
喜欢 (0)
[1034331897@qq.com]
分享 (0)