18.9.5 下午 第33天上课

扫描二维码关注公众号,回复: 3159393 查看本文章

sql99多表联查
select 列名 from A cross join B where 关联字段 (表.列名)
select 列名 from A natural join B 

内连接:显示满足链接条件的数据
select 列名 from A [inner]join B on 关联字段 where 过滤条件 


外联接 
左连接 select 列名 from A left join B on 关联条件 ---返回包括左表中的所有记录和右表中联结字段相等的记录;
右链接 select 列名 from A right join B on 关联调价 ----返回包括右表中的所有记录和左表中联结字段相等的记录;
sql92
等值链接 select 列名 from A,B where A.xx=B.XX;
非等值链接 select 列名 from A,B where 过滤条件
外联接 左外连接 select 列名 from A,B where A.XX=B.XX(+);
右外连接 select 列名 from A,B where A.xx(+)=B.xx
自联接 select 列名 from A,B where 过滤条件 注意:A,B属于同一张表。 


多表联查的总结:
1)即使是在连接条件不满足的情况下,外部连接也会在结果集内返回行,而内部连接不会在结果集类返回行 当外部连接不满足连接条件时,通常返回一个表中的列,但是第二个表中没有返回值--为null

2)自然连接不包含重复的属性

3)交叉连接是两个表数据笛卡尔积(相当于不加连接条件)

子查询:用于当一次查询的结果是另一次查询所需要的时候, 可以使用子查询
使用原则: 1.子查询用括号括起来
2.将子查询放在比较运算符的右边
3.子查询中不使用order by 子句
分类:单行子查询
多行子查询 
any : 跟结果中的任何一个数据进行比较
all: 跟结果中的所有数据进行比较
in: 等于结果中的任何一个
不相关子查询
相关子查询
将子查询结果作为一个表,可以进行多表联查

猜你喜欢

转载自blog.csdn.net/qq_42770040/article/details/82422927