sqlserver连接查询的补充

1.  连接查询的补充

(1)       内连接查询(两张表匹配的部分,比如这个学生即在学生表、又在成绩表)

主表 inner join 从表 on 主键=外键  =>  where 主键=外键

select * from info inner join mark on info.sid=mark.sid

select * from info,mark where info.sid=mark.sid

(2)       外连接查询(一张表的全部和另一张表的部分或全部,比如这个学生没有成绩)

① 左外连接:左表 left [outer] join 右表 on 主键=外键  ->左表的全部

② 右外连接:左表 right [outer] join 右表 on 主键=外键 ->右表的全部

select * from info left outer join mark on info.sid=mark.sid->+全部学生,不管这个有没有成绩。如果有成绩,则输出成绩;如果没有,则输出null。

如何选择?一旦要求查询某张表内的全部数据,一定首先使用外连接!!!

你可能感兴趣的:(sqlserver连接查询的补充)