连接查询-----若一个查询同时涉及到两个或两个以上的表,则称之为连接查询。
连接查询主要包括: 等值连接,自然连接,非等值连接,自身连接,外连接,复合条件连接等。
1. 等值 和 非等值连接
连接条件或连接谓词是指用来连接两个表的条件,格式为:<表名1.><列名> <比较运算符> <表名2.><列名>
比较运算符:= <= >= != > < .
当比较运算符为 = 时,称为等值连接, 其他运算符为非等值连接。
2. 自身连接
一个表和自身的连接叫做自身连接。
eg. select first.Cno, second.Cpno from Cource first, cource second where first.Cpno = second.Cno
3. 外连接 (outer join)
通常情况下,只有满足条件的元组才会作为结果输出,如果想把所有的结果输出,就用到外连接(Outer Join);
外连接分 左连接 和 右连接。
左连接已左边的表为主体,也就是输出左边的表的所有数据,然后去参照右边的表,不符号条件的给出null。
右连接以右边的表为主体,也就是输出右边的表的所有数据,然后去参照左边的表,不符号条件的给出null。
mysql 中的连接例子:
select student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade from student right join sc on (student.Sno=sc.Sno);
4. 复合条件连接
where子句中有多个连接条件的,称为复合条件连接。