准备
先创建两张表
create table stu (id int, name varchar(30)); -- 学生表
insert into stu values(1,'jack'),(2,'tom'),(3,'kity'),(4,'nono');
create table exam (id int, grade int); -- 成绩表
insert into exam values(1, 56),(2,76),(11, 8);
内连接
内连接可以理解为交集,会给出两表条件相符的数据
SQL
SELECT * FROM stu,exam where stu.id=exam.id;
结果
左外连接 left join
在内连接的数据基础上,还会完全显示左表的数据,且右表没有对应的字段会显示为null
SQL
select * from stu left join exam on stu.id=exam.id;
结果
右连接 right join
在内连接的数据基础上,还会完全显示右表的数据,且左表没有对应的字段会显示为null
SQL
select * from stu right join exam on stu.id=exam.id;
结果