第1个回答 2019-08-18
只要是两张以上的表关联查询的时候,就会返回一个笛卡尔乘积,数据库会去掉那些冗余的数据,只返回有用的数据。我们用左连接和右连接查询的时候就会把那些冗余的数据也查询出来,还有双向连接也是。比如有一个学生表,students(s_id,
s_name,
s_class)
,一张班级表
classes(c_id,
c_name)。分别有如下数据:
学生表:
班级表:
s_id
s_name
s_class
c_id
c_name
1
张三
1班
1
1班
2
李四
3班
2
2班
如果学生表为左表,普通查询为:select
s_name
,c_name
from
students
s,classes
c
where
s.s_class=c.c_name;
返回的结果为
张三
1班。
而当你把学生表当左表的时候,右连接查询的时候,返回的结果为:张三
1班
,李四
3班。
求采纳