MySQL之数据操作之多表查询

1>多表连接查询

    语法:

        SELECT 字段1,...字段n
            FROM 表1 INNER|LEFT|RIGHT JOIN 表2
            ON 表1.字段 = 表2.字段;

    如上,先找到两张表,再根据on筛选条件筛选记录,得出一张新的(合体)表,再基于新表查值。

    连接分为三种情况,inner,left,right

    --->内连接 inner:只取两张表的共同部分。

    --->左连接 left:在内连接的基础上保留左表的记录,即做连接之后的结果

        包含 左表.字段 所有有值的记录,其中有些记录的值可能并不满足 on筛选条件。

    --->右连接 right:在内连接的基础上保留右表的记录

    --->模拟 full join 的全连接,MySQL本身不支持 full join语法,但是可以通过union实现。

        select 字段 from 表1 left join 表2 on 表1.字段=表2.字段

        union select 字段 from 表1 right join 表2 on 表1.字段=表2.字段;

    例子,如下,有两张表,班级表和学生表,学生表的class_id逻辑上和班级表的id一样,并没有设置

    外键进行强关联,并且各有条数据与另一张表没有对应关系,看下各连接的实际效果。
</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值