select * from stu1 - -学生表
select * from class - -成绩表 多表连查问题,sno为学号,sname为学生姓名,cj为学生成绩
select * from stu1,class 表1的行1与表2的各行连接,表1的行2与表2各行连接...........结果中条数是表一行数与表二行数的和3*2
内连接:
从第一个表中消除与第二个表中不匹配的行
内连接包含等值连接,非等值连接,自然连接
select * from class inner join stu1on stu1.sno=class.sno
select * fromstu1 inner join classon stu1.sno=class.sno
相当于
select * fromstu1 left join classon stu1.sno=class.sno **常用
外连接:
有主从表之分,以主表的每行数据去匹配从表的数据行
外连接包含左外连接,右外连接,完全连接
/*连接顺序 表一的列名+表二的列名*/ left right指向的表的行数
select * from class left outer join stu1on stu1.sno=class.sno
select * from stu1 left outer join classon stu1.sno=class.sno
select * from class right outer join stu1 on stu1.sno=class.sno
select * from stu1 right join class on stu1.sno=class.sno