多表查询基础

目录

1.union联合查询

2. 内连接inner join xxx on xxx多表联合查询

3. 左连接left join

4. 右连接 right join

5. cross join交叉连接

 6. natural join 自然连接


1.union联合查询

select age,gender from info union select name, tel from gays;

从info表中查找出字段是age和gender的数据 并且 在gays表中查找出字段是name和tel的数据。

最后返回两个字段:

2. 内连接inner join xxx on xxx多表联合查询

先看一下表的结构:gays, info

 info和gays两张表的id联合在一起为同一个id,就是说需要有一个公共字段,具体语法如下:

可以id这个字段的名字不一样,只要能对应起来就行。

select gender,age from gays inner join info on gays.id=info.id;

输出结果如下:

3. 左连接left join

以左表为基准,左表有几条数据,就返回几条数据;左表有五条数据就返回五条数据,如果这五条数据中,其中两条公共字段右表也有,则返回要查询的字段,剩余三条右边表没有的字段则返回null。

表的内容:

具体操作代码 :

select gender,age from gays left join info on gays.id=info.id;

结果:

返回2个字段gender和age,gays这张表为左表,info这张表为右表,公共字段为gay里的id和info里的id,左查询的时候以左表为基础,左表有五条数据,返回五条数据,其中1,3数据右表也有,其余三条数据右表没有,则返回nul。

4. 右连接 right join

与左连接相似。

5. cross join交叉连接

select * from gays cross join info;

结果:返回一个笛卡尔积

 6. natural join 自然连接

找一样的来连接,与内连接差不多,但是不用指定相同字段。。

是找字段名一样的来连接。  --------如果没有一样的公共字段则返回笛卡尔积。

                                             --------如果有多个则全返回null

select * from gays natural join info;

结果:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值