SQL 的Join

表间的关系有一对多,多对一,多对多。

多对一的情况应该是最常见的吧。

有2个表,这3个执行如下语句:

select * from student 
select * from class
select * from student,class 

第3张表的结果有30个,不再列出。可以看到这种直接连接就是这两个表的排列结果。这种连接意义不大

 

select * from  class, student where student.ClassId=class.id

这一句会把有班级的学生列出来,没班级的学生被滤掉了,学生是不重复的,这是以学生为准,因为这是一对多的。


select * from  student left join class on student.ClassId=class.id
select * from  class left join student on student.ClassId=class.id

典型的左联接。

猜你喜欢

转载自blog.csdn.net/qqqgg/article/details/80003359