本文主要是介绍sql2000连接查询002--外连接和复合条件连接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
三、外连接
外连接的表示方法为,在连接谓词的某一边加符号*。外连接就好像是为符号*所在边的表(本例是SC表)增加一个“万能”的行,这个行全部又空值组成。它可以和另一边的表(本例是Student表)中所有不满足连接条件的元组进行连接。如果外连接符出现在连接条件的右边,成为右外连接,如果外连接符出现在连接条件的左边,称为左外连接。上个例子中只显示选课学生的信息,若想显示没有选课的学生信息,就要用到外连接。select student.sno,sname,ssex,sage,sdept,cno,grade from student,sc where student.sno= sc.sno(*)
便上述代码不能运行:第 3 行: '*' 附近有语法错误。作以下更改select student.sno,sname,ssex,sage,sdept,cno,grade from student left join sc on student.sno=sc.sno;
95003和95004两行中来到自SC表的属性值全部为空值。
四、符合条件连接
Where子句中可以有多个连接条件,称为符合条件连接。
例35:查询选修2号课程且成绩在90分以上的所有学生。select student.sno,sname from student,sc where student.sno=sc.sno and sc.cno='2' and sc.grade>90
例36:查询每个学生的学号,姓名,选修的课程名及成绩select student.sno,sname,cname,grade from student,sc,course where student.sno = sc.sno and sc.cno = course.cno
用left join 连接实现如下:select student.sno,sname,cname,grade from sc left join student on student.Sno=sc.Sno left join course on course.Cno=sc.Cno
用别名代替操作表:select s.sno,sname,cname,grade from sc as scc left join student as s on s.Sno=scc.Sno left join course as c on c.Cno=scc.Cno
附sql查询服务器运行图:
这篇关于sql2000连接查询002--外连接和复合条件连接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!