内连接 inner join(查找条件中对应的数据,no4没有数据不列出来)
语法:select * from student inner join grade on student.no = grade.no
结果
student.no name grade.no grade
1 a 1 90
2 b 2 98
3 c 3 95
左连接(左表中所有数据,右表中对应数据,即左边一定有数据,右边不一定有)
语法:select * from student left join grade on student.no = grade.no
结果:
student.no name grade.no grade
1 a 1 90
2 b 2 98
3 c 3 95
4 d
右连接(右表中所有数据,左表中对应数据,即右边一定有,左边不一定有)
语法:select * from student right join grade on student.no = grade.no
结果:
student.no name grade.no grade
1 a 1 90
2 b 2 98
3 c 3 95
全外连接(表中数据=内连接+左边缺失数据+右边缺失数据)
语法:select * from student full join grade on student.no = grade.no 结果: no name grade 1 a 90 2 b 98 3 c 95 4 d 1 a 90 2 b 98 3 c 95
交叉连接(没有where字句时结果为笛卡尔积)
一般不用。
注:access 中不能直接使用full join ,需要使用union all 将左连接和右连接合并后才可以