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 左表.字段名=右表.字段名 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值