mysql多表联合查询

mysql多表联合查询操作,3个表以上操作的sql语句 

FROM语句是表选择语句,需要选择多个表的时候,用逗号“,”来分割所选的表。还可以用JOIN语句来定义结合条件。
表的别名
  选择的表可以取别名,在下面的例子中,FROM所选择的表名后用空格来分割别名
--例子1:将表foo取别名 t1, 将表bar 取别名 t2
       SELECT * FROM foo t1 , bar t2 WHERE t1.a = t2.a
--例子2:使用AS取别名
       SELECT * FROM foo AS t1 , bar AS t2 WHERE t1.a = t2.a
---------------------Oracle , SQL Server , DB2 , MySQL
这样就将表的别名取好了,这种情况下,再使用原来的表名,会出错。在使用WHERE条件时也必须用别名。一定要记住,取了别名的表和原来的表是不一样的表。
FROM语句之结合条件
       分为INNER JOIN,LEFT JOIN,RIGHT JOIN。结合条件一般分为内部结合和外部结合,INNER JOIN是内部结合,后两者为外部结合。LEFT就是表示全部保留左边表,RIGHT JOIN全部保留左边表。
       条件式用ON来指定,如果多个条件,则用AND来连接
--例子:表foo和表bar以foo.a = bar.a 来实现内部结合
       SELECT * FROM foo INNER JOIN bar ON foo.a = bar.a
三个以上的结合
三个以上表的结合是先结合两个表,然后将结果当作一个表再与另一个表结合。
--例子:将foo , bar , more 三表结合
       SELECT * FROM ( foo INNER JOIN bar ON foo.a = bar.a )
       INNER JOIN more ON foo.a = more.a
LEFT JOIN和 RIGHT JOIN
使用LEFT JOIN 和 RIGHT JOIN时,一定要注意位置。“foo LEFT JOIN bar ”就是将左边的foo表的所有行保留,匹配不上的显示NULL。反之,“foo RIGHT JOIN bar”就是将右侧的bar表全部保留,匹配不上的显示NULL。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值