SQL中常见的几种连接方法-(内连接,左连接,右连接)

本文探讨了数据库连接的基本概念,包括内连接(INNER JOIN)、外连接(LEFT JOIN & RIGHT JOIN)及其在查询多表信息时的应用,重点讲解了如何通过多条件过滤获取精确结果。

        连接是数据库主要的特点,通常一个表中不会存放不同实体的信息,不同实体的信息存在不同的表当中,但是要同时查出多个表当中的信息时就需要多个表合并到一起进行查询,此时连接表的作用就出来了。

        在表建立时常把一个实体的所有信息存放在在一张表中,当查询数据时,通过连接操作查询出存放在多个表中的不同实体的信息。

        1.内连接查询(inner join)。

        内连接也常写为join,省略inner。根据所关联的字段进行匹配,将匹配上的数据组合成新的记录,也就是所,在内连接查询中,只有满足条件的记录才会出现在结果关系中。关联,即字段名可以不同,但是里面的数据一点要有相同的。

# 查询出table1表和table2中同时存在的信息
select a.name,a.price from table1 a join table2 b on a.name=b.name;
# 需要注意的是在内连接关联中选择输出字段要指定是哪一个表的,因为同时存在与两个表中的相同字段时不加以指定会报错,所以指定是来自哪一个表中的字段时一个很好的习惯。

        2.外连接查询。

        外连接查询又可以细分为左连接和右连接。左连接是将左表作为基础表,右表可以关联上的数据进行组合,关联不上的作为null,而有关联和做关联正好相反。一般在实际的应用中主要用到的是做关联,因为更符合人们的阅读习惯。

# 左连接 left join
select name,price from table1 a left join table2 b on a.name=b.name;

# 右连接 right join
select name,price from table1 a right join table2 b on a.name=b.name;

        3.连接多条件查询

        在多表查询中简单一个条件可能会导致查询的结果不是很准确,所以需要多个条件进行过滤,从而使得查出的数据更为准确。

# 在on后面进行多条件过滤会使得查出来的数据更为准确。
select name ,price from table1 a join table2 b on a.name=b.name and b.name='shang';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值