连接查询与union查询

连接查询

连接查询包括下面3中查询方式:

  • inner join(内连接查询):

对于 A表和B表来说,要想查询两张表相同的数据,可以通过    select 字段1,字段2,... from A inner join B on where A.字段=B.字段

  • left join (左连接查询):

对于A表和B表来说,如果要进行左连接查询,数据库就会以左表为基准,从右表中找出与左表相匹配的数据,找不到就用NULL补齐,SQL可以这样写:select 字段1,字段2,... from A left join B on where A.字段=B.字段

  • right join(右连接查询)

对于A表和B表来说,如果要进行右连接查询,数据库就会以右表为基准,从左表中找出与右表相匹配的数据,找不到就用NULL补齐,SQL可以这样写: select 字段1,字段2... from A right join B on where A.字段=B.字段

注意以上连接查询,会把多张表连接成一张表,以上的select语句就像从普通的表中进行数据的查询。

union联合查询

对于union查询,就是把多次查询的结果合并起来,形成一个新的查询结果表,这就要求我们做到以下几点:

  • 对于联合查询的多张表的列数必须保持一致
  • 推荐:对于每一列的字段类型也要保持一致
  • 对于多个select语句的查询,列名可能不同,要以第一个select语句的列名为准
  • 如果多个select语句查询到相同的记录,就会把重复的记录合并为一条记录
  • 如果不想将相同的查询结果去重,直接在union后加all,当然,这种效率会高一点

SQL语法:

select * from A

union

select * from B

union

.....

以上是自己对连接查询和union查询的简单总结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值