数据库--数据库基础5--表连接、多表连接

一、表连接

前提:有时需要的数据不止在一张表中,需要多个表做结合的查询就可以用表连接实现

1、内连接

  • 只显示两个表中匹配到的数值信息
  • 内连接是比较常用的一种数据连接查询方式
  • 表与表之间建立其关联的列,列名可以不一样,但是这两个列的数据类型和内容得保持一致
  • 内连接查询,只关联表与表中能匹配到的数据信息,才能有对应的查询结果

(1)两表连接

1)第一种

where连接
select 表名1.列名1,表名2.列名1,表名1.列名2,表名2.列名2 from 表名1,表名2 where 表名1.列名1=表名2.列名1;

2)第二种

inner join连接
select 列名 from 表名1 [inner] join 表名2 on 表名1.列名=表名2.列名;

一般用inner join 或 join 关键字来指定内连接。又可分为等值连接,非等值连接。

  • 等值连接:指的是条件中只包含‘=’,没有其他符号在里面
  • 非等值连接:指的是条件中,除了等号之前,还有其他的符号‘>’,’<’,’=’

(2)多表连接-表的数量>2

格式一:
select 表名.列名 from 表名1,表名2,表名3 where 表名1.列名=表名2.列 and 表名2.列=表名3.列 and 表名3.列=表名4.列;
格式二:
select 列 from 表名1 inner join 表名2 on 表名1.列=表名2.列 inner join 表名3 on 表名2.列=表名3.列;

2、外部连接

  • 外部连接会返回from子句中提到的至少一个表或视图中的所有行
  • 外部链接分为做外部连接、右外部连接
  • 左外部连接对连接条件中左边的表不加限制
  • 右外部连接对连接条件中右边的表不加限制
  • 在from之后,先写的是左表后写的是右表

(1)左外部连接

显示左表的所有行,如果在右表中没有匹配到,在对应的位置上就显示为null
格式:
select 列 from 表名1 lest join 表名2 on 表名1.列=表名2.列;

(2)右外部连接

显示右表所有行,如果在左表中没有匹配到,在对应的位置上就显示为null
select 列 from 表名1 right join 表名2 on 表名1.列=表名2,列;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值