一、连接
我们现在进行多个表一起查询,也就是我们说的连接查询。连接分为以下几种。
1.内连接
select * from tbl_students
inner join tbl_classes
on tbl_students.cls_id = tbl_classes.id;
简写
select * from tbl_students as s
inner join tbl_classes as c on s.cls_id = c.id
只显示学生的所有信息,班级只显示名字
select s.*,c.name from tbl_students as s
inner join tbl_classes as c on s.cls_id = c.id;
根据年龄倒序排列
select s.*,c.name
from tbl_students as s
inner join tbl_classes as c on s.cls_id = c.id
order by s.age desc;
2.左连接
select s.*,c.name from tbl_students as s left join tbl_classes as c on s.cls_id = c.id;
查询没有班级的学生
select s.*,c.name from tbl_students as s left join tbl_classes as c on s.cls_id = c.id having c.name is null;
3.右连接
insert into tbl_classes values (0,"精英10班");
insert into tbl_classes values (0,"精英11班");
insert into tbl_classes values (0,"精英12班");
select s.*,c.name
from tbl_students as s
right join tbl_classes as c on s.cls_id = c.id;