若一个查询同时涉及两个以上的表,则称之为连接查询,连接查询是关系数据库中的最主要的查询。
连接查询的where子句中用来连接两个表的条件成为连接条件和连接谓词。
现在我们有两个表。
student表的内容如下:
sc表的内容如下:
现在我们要查询每个学生的基本信息及其选修课成绩。
sql语句如下:
select student.*,sc.* from student,sc where student.Sno = sc.Sno
结果如下:
因为Sno是两个表中都有的列,所以我们使用的时候要加上前缀。
但我们看到结果表中有重复的列,那我们应该怎么办呢?
在sql中,把目标列种重复的属性去掉成为自然连接,
sql语句修改如下:
select student.Sno,Sname,Ssex,Sage,Sdept,Con,Grade from student,sc where student.Sno = sc.Sno
这样就取消了相同的列