SQL语言中的连接查询(一)

连接查询总共有7中查询(自己看书总结的以后方便复习)

一个查询中如果设计2个以上的表,成为连接查询。

(1)等值查询  

一般的格式为 [<表名1>.]<列名1><比较运算符>[<表名2>.]<列名2>

比较运算符主要有 = ,> , < ,>= ,<= ,!=。连接谓语还可以使用如下形式

[<表名1>.]<列名1>between[<表名2>.]<列名2>and[<表名2>.]<列名3>

例题:查询每个学生及其选修课程的情况。

分析:学生的情况放在student表中,而学生的选修课程放在sc表中,同时涉及到student和sc两个表。这是一个等值连接。以下代码是在Access2003中编写的。

select student.*,sc.*
from student ,sc
where student.sno = sc.cno

(2)非等值连接 就是把上面额等值查询使用的非“=”运算符构成连接条件的称为非等值连接查询

(3)交叉连接

例题  假设每个学生选修了课程表中的所有课程,现在要查询每个学生的学号和选修课程的课程号。以下代码是在Access2003中编写的。

代码如下

select sno ,cno 
from student ,course