mysql中的外连接怎么实现?
不才正在学习数据库中,看到书上的外连接是这样实现的SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROMStudent...
不才正在学习数据库中,看到书上的外连接是这样实现的
SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
FROM Student,SC
WHERE Student.Sno=SC.Sno(*);
可是我在mysql里面这样操作不能实现外连接,而是报错。请问应该则么实现?(不通过left join on,right join on等)
————————————————————————————————
student表和SC表中只有Sno项名是相同的,所以其他的不需要带表名.。我说的外连接就已经包含多表连接的意思了。外连接是即使SC中没有对应的记录,Student表的其他记录也会列出,只不过对应的SC中的记录是空的。
Sno 是student 和SC共有的项,Sname,Ssex,Sage,Sdept是student独有的项,Cno,Grade是SC独有的项。 展开
SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
FROM Student,SC
WHERE Student.Sno=SC.Sno(*);
可是我在mysql里面这样操作不能实现外连接,而是报错。请问应该则么实现?(不通过left join on,right join on等)
————————————————————————————————
student表和SC表中只有Sno项名是相同的,所以其他的不需要带表名.。我说的外连接就已经包含多表连接的意思了。外连接是即使SC中没有对应的记录,Student表的其他记录也会列出,只不过对应的SC中的记录是空的。
Sno 是student 和SC共有的项,Sname,Ssex,Sage,Sdept是student独有的项,Cno,Grade是SC独有的项。 展开
1个回答
展开全部
SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
FROM Student,SC
WHERE Student.Sno=SC.Sno(*);
这句有问题,
因为你实际上是多表查询了,
所以你要查找的字段必须都带上表名。
SELECT Student.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC.Cno,SC.Grade
FROM Student,SC
WHERE Student.Sno=SC.Sno;
FROM Student,SC
WHERE Student.Sno=SC.Sno(*);
这句有问题,
因为你实际上是多表查询了,
所以你要查找的字段必须都带上表名。
SELECT Student.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC.Cno,SC.Grade
FROM Student,SC
WHERE Student.Sno=SC.Sno;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询