连接是数据库主要的特点,通常一个表中不会存放不同实体的信息,不同实体的信息存在不同的表当中,但是要同时查出多个表当中的信息时就需要多个表合并到一起进行查询,此时连接表的作用就出来了。
在表建立时常把一个实体的所有信息存放在在一张表中,当查询数据时,通过连接操作查询出存放在多个表中的不同实体的信息。
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';
本文探讨了数据库连接的基本概念,包括内连接(INNER JOIN)、外连接(LEFT JOIN & RIGHT JOIN)及其在查询多表信息时的应用,重点讲解了如何通过多条件过滤获取精确结果。
691

被折叠的 条评论
为什么被折叠?



