mysql多表查询sql语句怎么写_SQL多表查询语句怎么写

展开全部

SQL中多表查询可以使用链接查询

1、union

union [all]

all:表示将查询的所e68a843231313335323631343130323136353331333337623431有结果都合并到结果集中,若不加all会将重复的行只保留一行--示例:

select * from a union select * from b

2、join

连接分为内连接、外连接、交叉连接

2.1、内连接 inner join (默认的连接方式)

只有至少有(指定的字段)一行的记录在两个查询表中都有记录,此时才有结果集。即        返回两个表之间的交集(相同字段的记录)--示例:

SELECT * FROM  `a` INNER JOIN b ON a.aaa = b.aaa

2.2、外连接

a、left join 左连接

返回查询表的记录,包含左边表的所有记录,如果左边表中的记录在右边表中没有对        应的记录,则所返回右边表的字段结果为空(差集)--示例:

SELECT * FROM  `a` LEFT JOIN `b` ON a.aaa = b.aaa

b、right join 右连接

与left join相反,查询的记录包含右边表的所有记录,如果右边表中的记录在左边表        中没有对应的记录,则返回左边表的字段值为空(差集)--示例:

SELECT * FROM `b` LEFT JOIN `a` ON a.aaa = b.aaa

c、full join 全连接

返回左表和右表中的所有记录,即两表的数据全部显示--示例:

select * from a full join b

3、cross in 交叉连接

不带where子句,返回两个表中所有笛卡尔积,记录数为a表和b表记录数的积--示例:

SELECT * FROM  `b` CROSS JOIN `a`

相关推荐

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页

打赏作者

李棠辉

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值