mysql 语法中内连接与外连接的区别,三目运算符,字符匹配的用法 记录

1.内连接和外连接 是关联多表查询的2种方式,项目中用到的费用统计以及信息的查询 多是以外连接居多,在模块查询的sql语句优化的过程中,发现使用了内连接语句,特此记录一下(虽然大体有个概念,但是技术这东西 就是学而不用时间长了 就会忘记 生疏)

  1. 内连接:内连接是指将多张表 通过某个关联字段关联起来,打比方A表有X条记录,B表有Y条记录,都有public_no这个字段,2张表通过内连接 查询的数量 就是X * Y的数量减去 public_no字段值 A表或B表不存在的记录=X*Y- public_no值不存在的数量。
    写法上很简单就是SELECT * FROM A INNER JOIN B ON A.public_no=B.public_no

3.外连接:就是将关联字段 不论存在 不存在的所有记录 统统关联起来,
写法上 SELECT * FROM A OUTER JOIN B ON A.public_no=B.public_no
同时由于实际应用中 经常需要用到A表 字段 public_no值存在 而B表字段 public_no值不在的情况,所以也就产生了 左连接 和右连接 这2个概念
左连接:SELECT * FROM A LEFT JOIN B ON A.X=B.X
右连接:SELECT * FROM A RIGHT JOIN B ON A. X=B.X

4.三目运算符:IF(exp1,exp2,exp2) 若exp1为true 则返回exp2结果,若exp2为false则 返回false。这里有点类似java中的三目运算符IF(a>b?true:false)

5.字符匹配:LOCATION(‘substr’,‘str’); 从str字符中 查找substr字符是否存在,如果存在 则返回对应的位置,如果不存在,则返回0

6.上面只是个人的通俗理解,说道关联查询 不得不提出一个概念,那就是笛卡尔积,这样讲起来更专业(可以吹牛逼 哈哈)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值