多表连接查询、子查询

多表连接查询

当我们在数据库的查询中,可能我们需要的两个或多个字段并不存在与一张表中,我们可以通过多表连接查询的方式进行查询(虽然我们可以写不同的几个语句分开进行查询,但是这样会极大的增加我们的代码量并且效率较低)。当我们要查询不同表内的数据时,我们需要将两个表通过一个字段来进行连接(一般为主外键,也可以是其他相同的字段)。其格式为 select 字段1,字段2,字段3 from 表一,表二 where 表一.字段4 = 表二.字段4;

注意:1)在实际的使用过程中,可能需要连接的两个表并没有直接的连接条件,这时可能会需要第三个表进行中间量进行连接。

          2)若不写连接条件时,并不会报错,但是会出现笛卡尔积错误,会出现多个相同内容的数据。

          3)自连接:当同一个表中两个字段可以满足连接条件时,可将表分别起两个别名,进行自连接。

          4)左外联:用于两个表中字段不完全匹配(有一边有空字段)时使用,将空字段进行匹配,在确实数据的表后加“(+)”,

               右外联相同。

子查询

子查询是将一条单独的查询语句作为查询条件,数据来源等作为使用,但是在作为查询条件时,要注意子句中的查询出的结果是否为一条,若不是需要将=换位in

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值