mysql 读多个表 如何快_[原创]Mysql链接多个表

主要包括以下几种情况:

1、用逗号连接:

SELECT *

FROM employee,department

WHERE employee.DepartmentID = department.DepartmentID

这个时候默认是等价于内连接,即等价于:

SELECT *

FROM employee

INNER JOIN department

ON employee.DepartmentID = department.DepartmentID

2、左连接(left join):

首先在左边列出左边表的所有行,然后右边表的行如果符合链接条件就把相应数据放在结果表的右边,如果不符合就舍弃,而对于左边表中没有对应的右边表的记录的行,那么就在右边相应字段写上NULL;

3、右连接(right join):

和上面左连接类似。

4、内连接(inner join):

只把符合链接要求的左右表所对应的行列出来。

5、全连接(full join):

把左右两个表所有的行都保留下来,其中符合相应的记录放在一行,对于没有对应上的记录,在相应自字段写上NULL;

其中mysql不支持full join。

6、Join:

如果join的左边没有诸如left、right或者inner这样的关键字时,缺省的是内连接。

7、三表关联查询:

以left join 为列:

select username,psw,gname,tel

from (t1 left join t2 on t1.t1_id=t2.t1_id)

left join t3

on t1.t1_id=t3.t1_id

而不应该想当然的写为:

select

username,psw,gname,tel

from t1 left join t2 left join t3

on t1.t1_id=t2.t1_id and t1.t1_id=t3.t1_id;

参考:

http://blog.csdn.net/huanghanqian/article/details/52847835

http://blog.csdn.net/superbfly/article/details/12943255

http://www.w3school.com.cn/sql/sql_join_inner.asp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值