4张表 进行关联 如何用mysql数据库进行 左联接 和和内连接查询

4张表 进行关联 如何用mysql数据库进行 左联接 和和内连接查询,第1张

把4张表现连起来,"select from a,b,c,d where aid=bid and bid=cid and cid=did"接下来你就能输出4张表中你想要的字段里面的内容了

SELECT

roominforoomNum,

roominfoclassID

FROM

roominfo

LEFT OUTER JOIN orders ON ordersroomNum = roominforoomNum

where roomInfoavailable = 1 and roomInfoused = 0 and (booked = 0 or

(ordersbookInDate > '2013-12-22' and ordersbookInDate > '2013-12-25') AND (ordersbookOutDate < '2013-12-22' and ordersbookOutDate < '2013-12-25'))

如有表

a(col1,col2),

a,1

b,1

b(col1,col2)

a,3

c,2

内部联接是指只返回符合联接条件的资料

如select from a join b on acol1 = bcol1 只返回符合条件acol1 = bcol1的资料

结果如下

a,1,a,3

左外联接不仅返回符合条件的资料还返回左表中的资料

如select from a left join b on acol1 = bcol1 返回符合条件acol1 = bcol1的资料,及a中其馀不符

合条件的资料,此时b中对应的资料为null

结果如下

a,1,a,3

b,1,null,null

右外联接不仅返回符合条件的资料还返回右表中的资料

如select from a right join b on acol1 = bcol1 返回符合条件acol1 = bcol1的资料,及b中其馀不符合条件的资料,此时a中对应的资料为null

结果如下

a,1,a,3

null,null,c,2

因为你从表字段not in时,剩余的数据不就都是存在的了吗,

这样就相当于查询了从表中存在并且与左表关联相等的数据,这样就消除了null值

不知道说明白没有,你如果想有null值试试加一句or 字段 is null

跟my sql一样的关联,这些关联查询都是一样的,例如内联查询,左联查询

内联查询:

想把用户的积分信息, 等级,都列出来,一般会出现:

select from emd_mteller t1,emd_mrole t2 where t1teller_id = t2teller_id

select from emd_mteller t1 inner join emd_mrole t2 on t1teller_id = t2teller_id

左联查询:

left join 或者left outer join

返回左表中的所有行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(null)。

Select from t1 left outer join t3 on t1userid = t2userid

以上就是关于4张表 进行关联 如何用mysql数据库进行 左联接 和和内连接查询全部的内容,包括:4张表 进行关联 如何用mysql数据库进行 左联接 和和内连接查询、mysql左联查询时 右表有多条关联左表同一记录的信息,只要有右表中有条件不符合,就不显示该所有左表记录、解释数据库中左联,内联,右联的用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9775411.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存