表连接,简写:
select 列1,列2,列3... from 表1,表2,表3...
1.内连接: 两表相连(若主表有数据,副表没数据,该行数据在返回时就被省掉)
select 列1,...from 表1 join 表2 on + (满足条件(两表相关联的,通常指外键))
2.外连接:
左外连接:left join 或 left outer join
右外连接: right join 或 right outer join
要显示哪边表的被省掉的数据,就用哪边的连接
3.交叉连接:
交叉连接返回左表中的所有行,左表中的每一行与右表的所有行组合,交叉连接也称作笛卡尔积。
自联接:同样的表相互连接
主键对应的表为主表,where条件中,要是主键或外键;才能连接到表,若不是主键则无法连接表。
小错误:
用“ routw,stops” 表,进行四表自联接
(用三个条件连接四个表)
select r1.num from route r1, stops s1, route r2, stops s2
where r1.stop= s1.id and r2.stop= s2.id
and r1.num=r2.num 注意:这句不能用 r1.name=r2.name
因为 name列 不为外键;而num为外键,两表要有关系才能相互连接
(这一句是题目中要求的条件)and r1.stop=115 and r2.stop=137;