多表连接查询

本文介绍了SQL中的不同连接查询类型,包括内连接(innerjoin)、外连接(outerjoin,如leftjoin和rightjoin)、交叉连接(crossjoin,即笛卡尔乘积),并阐述了各种连接在数据不存在时的不同处理方式以及使用条件。
摘要由CSDN通过智能技术生成

sql中的连接查询

常用的连接有:内连接,外连接,交叉连接(笛卡尔乘积坐标)

将多个表的字段进行连接,可以指定连接条件。

-- 内连接 inner join

    - 默认就是内连接,可省略inner。

    - 只有数据存在时才能发送连接。即连接结果不能出现空行。

    on 表示连接条件。其条件表达式与where类似。也可以省略条件(表示条件永远为真)

    也可用where表示连接条件。

    还有 using, 但需字段名相同。 using(字段名)

-- 交叉连接 cross join

        即,没有条件的内连接。

        select * from tb1 cross join tb2;

-- 外连接 outer join

    - 如果数据不存在,也会出现在连接结果中。

    -- 左外连接 left join

        如果数据不存在,左表记录会出现,而右表为null填充

    -- 右外连接 right join

        如果数据不存在,右表记录会出现,而左表为null填充

-- 自然连接 natural join

    自动判断连接条件完成连接。

    相当于省略了using,会自动查找相同字段名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值