多表连接查询、子查询

多表连接查询

当我们在数据库的查询中,可能我们需要的两个或多个字段并不存在与一张表中,我们可以通过多表连接查询的方式进行查询(虽然我们可以写不同的几个语句分开进行查询,但是这样会极大的增加我们的代码量并且效率较低)。当我们要查询不同表内的数据时,我们需要将两个表通过一个字段来进行连接(一般为主外键,也可以是其他相同的字段)。其格式为 select 字段1,字段2,字段3 from 表一,表二 where 表一.字段4 = 表二.字段4;

注意:1)在实际的使用过程中,可能需要连接的两个表并没有直接的连接条件,这时可能会需要第三个表进行中间量进行连接。

          2)若不写连接条件时,并不会报错,但是会出现笛卡尔积错误,会出现多个相同内容的数据。

          3)自连接:当同一个表中两个字段可以满足连接条件时,可将表分别起两个别名,进行自连接。

          4)左外联:用于两个表中字段不完全匹配(有一边有空字段)时使用,将空字段进行匹配,在确实数据的表后加“(+)”,

               右外联相同。

子查询

子查询是将一条单独的查询语句作为查询条件,数据来源等作为使用,但是在作为查询条件时,要注意子句中的查询出的结果是否为一条,若不是需要将=换位in

扫描二维码关注公众号,回复: 4153812 查看本文章

猜你喜欢

转载自blog.csdn.net/lwz18642660013/article/details/84256366