mysql连接查询和子查询_MySQL连接查询、子查询与联合查询

一 连接查询

1.交叉连接:

语法:

from  表1  [cross]  join表2  ;

例如:

表一:

8b781e5c1e1d3e35b62987899bdc9035.png

表2:

a81834d746ba5f1c10ba470ff8caf99f.png

交叉:

0c7a40706ebc97ffaefa7bf8441bbf19.png

交叉查询并没有意义。

2.内连接:

语法:

from  表1  [inner]  join表2  on表1.字段1=表2.字段2;

想要内连接两个表,两个表必须有相对应的外键来连接。

例如:

7982ec525680c11fe7d9c1eb8ddf9fe8.png

当两个表内连接的时候,是在交叉连接的基础上,保留指定字符段相同的行,其余的行不保留,从而使无意义变为有意义。

3.左外连接:

形式:

from  表1  left  [outer]  join表2   on连接条件。

a0a6ede376be550fb5495654a6b9ff30.png

4.右外连接:

形式:

from  表1  right  [outer]  join表2   on连接条件。

ae7bc670ec61f00dc5923e0cb110c0ff.png

连接查询就是指两个或2个以上的表(数据源)“连接起来成为一个数据源”之后进行查询。

二 子查询

定义:

子查询就是把一个查询的结果当作另一个查询的条件。

in的基本语法形式为:

where  操作数in (值1,值2,....)

举例:

找出所有带“电”字的类别的产品

第一步:找出所有带“电”字的类别ID:

4418411dbd16f83e7909d2167581b984.png

第二步:根据结果找出这些类别的产品:

select * from product  where  protype_id in (1, 3);  ==〉

select * from product  where  protype_id in (

select protype_id from product_type where protype_name like '%电%'

);

c129ab1f8212e43e78c956655006a9ce.png

三 联合查询

联合查询的关键字是: union

基本含义:

联合查询就是将两个select语句的查询结果“层叠”到一起成为一个“大结果”。

两个查询结果的能够进行“联合”的先觉条件是:结果字段数相等。

例如:

6c4b7b845833f1a788cd7f8e496f01dc.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值