mysql连接分成:内连接、左外连接left
join和右外连接right
join!
由于连接的记录,可能是一方不存在的!(两条记录中,可能某条不存在)
内连接:只有两个表相匹配的行才能在结果集中出现。也就是说,当某个表中多出一条记录的时候,这条记录与另一个表不能相互匹配的时候,不匹配的记录就不会出现在结果中!
外连接:左外连接、右外连接
注意好左外与右外的区别:
区别在于,那个表的记录(指的是连接失败的记录),会最终出现在连接结果内?
什么是左表和右表?
join关键字前面的(左边的)左表,join关键字后边的(右边的)右表!
左外:如果出现左表记录连接不上右表记录的,左表记录会出现正在最终的连接结果内!而右表记录相应设置成NULL。
右外:如果出现右表记录连接不上左表记录的,右表记录会出现正在最终的连接结果内!而左表记录相应设置成NULL。
总结:内连接,外连接差别不大,只是外连接会将没有连接成功的记录,也出现最终的连接的结果内,而内连接,连接的结果只有连接成功的(两条记录都存在的)
因此,可以交换表的位置,达到使用left与right
join
混用的的目的!
问题:
统计每个班级内,学生的数量!,在班级列表内:
班级名,教室,学生数量
注意,外连接应该有条件!