一.连接查询分为内连接和外连接。
1.内连接的定义是什么?
内连接基于连接谓词,它将两张表(如A和B)的列组合在一起,产生新的结果表。具体过程是将A表的每一行和B表的每一行进行比较,并找出满足连接谓词的组合,当连接谓词被满足,A和B中匹配的行会按列组合(并排组合)成结果集中的一行。
2.内连接分为:交叉连接,相等连接和自然连接。
(1)交叉连接的代码如下:
select *(字段名) from 表名 1 cross join
(2)相等连接的代码如下:
select *(字段名) from 表名1 【inner】 join 表名 2 on 表名1 .字段名1= 表名2 .字段名2
where 条件表达式
注:【inner】可省,字段名1和字段名2为两张表的重复列。
(3)自然连接的代码如下:
select *(字段名) from 表名1 natural join 表名 2 on 表名1 .字段名1= 表名2 .字段名2 where 条件表达式
注 :字段名1和字段名2为两张表的重复列。
3.外链接的定义是什么?
在内连接查询中,只有满足连接条件的记录才能出现在查询结果中。但在实际应用中,如果希望不满足连接条的记录也在查询结果中出现,这时需要使用外连接查询。根据不同的外连接形式,外连拨所生成的结果集中不包含符合条件的数据记录,还包含左表、右表或左右表中所有的数据记录。
4.外连接分为:左外连接和右外连接
(1)左外连接的代码如下:
select *(字段名) from 表名1 lift join 表名 2 on 表名1 .字段名1= 表名2 .字段名2 where 条件表达式
(2)右外连接的代码如下:
select *(字段名) from 表名1 right join 表名 2 on 表名1 .字段名1= 表名2 .字段名2 where 条件表达式
二.多表连接查询和简单表连接查询
1. 多表连接查询代码如下:
select *(字段名) from 表名1 join 表名2 on 表名1 .字段名1= 表名2 .字段名2 join 表名3 on 表名2 .字段名2= 表名3 .字段名3 where 条件表达式
2. 简单多连接查询代码如下:
select *(字段名) from 表名1 表名2 表名3 where 表名1 .字段名1= 表名2 .字段名2 and
表名2 .字段名2= 表名3 .字段名3 【and其他条件】