MySQL连接查询

一:内连接
 交叉连接:
 交叉连接(Cross Join),又称“笛卡尔连接(Cartesian Join)”又称“交乘(Product)”,他是所有类型的内连接的基础。

SQL语句:

select *from 表名1 cross join 表名2
等价于:

select *from 表名1,表名2
相等连接:
SQL语句:

select *from 表名1 join 表名2 on 表名1.字段名=表名2.字段名
可以给表起别名,则SQL语句为:

select *from 表名1 别名1 join 表名2 别名2 on 别名1.字段名=别名2.字段名
自然连接:
自然连接(Natural join)是一种特殊的内连接,它要求相连接的两张表的连接依据列必须是相同的字段。(有些版本中sql server不支持自然连接)

SQL语句:

select *from 表名1 natural join 表名
二:多表连接查询
如果查询的信息来源于多张表,则可以通过两两相连的方式建立多表连接查询

SQL语句:

select *from 表名1 join 表名2 on 表名1.字段名=表名2.字段名 join 表名3 on 表名2.字段名=表名3.字段名
三:外连接查询
在内连接中,只有满足连接条件的记录才能出现在查询结果中,但在实际应用中,如果希望不满足连接条件的记录也在查询结果中出现,这时候就要用到外连接查询。

左外查询:
左外连接的结果包括左表的所有记录和右表中满足连接条件的记录,结果集中那些不符合连接条件的来源于右表的列值为null。

sql语句:

select *from 左表 left join 右表 on 左表.字段名=右表.字段名
右外查询:
右外连接的结果包括左表的所有记录和右表中满足连接条件的记录,结果集中那些不符合连接条件的来源于左表的列值为null。

select *from 左表 right join 右表 on 左表.字段名=右表.字段名
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值