联接条件可在from或where子句中指定,建议在from子句中指定联接条件。where和having子句还可以包含搜索条件,以进一步筛选根据联接条件选择的行。
内部联接,结果集返回交集所有的行
use 数据库
select * from 成绩表
join 学生表
on 学生表.学号=成绩表.学号
左向外联接,结果集返回左表所有的行
左表名称 left join 右表名称 on……
右向外联接,结果集返回右表所有的行
right join …… on
完整外联接,结果集返回左右两表所有的行
full join …… on
交叉联接,结果集返回左右两表“行的乘积“的所有的行
左表名称 cross join 右表名称
该方法避免在大型表中使用
联接多表的方法
- 在where子句中联接多表
use 数据库
select * from 成绩表,课程表,学生表
where
学生表.学号=成绩表.学号
and
成绩表.学号=课程表.学号 - 在 from 子句中联接多表
use 数据库
select * from 学生表
join 成绩表
join 课程表
on 成绩表.学号=课程表.学号
on 学生表.学号=成绩表.学号
当在from子句中联接多表时,要书写多个用来定义其中两个表的公共部分的ON语句,on必须遵循from后面所列的表顺序,即在from后面先写的表相应的on语句先写。