MySQL基础–链接查询
MySQL内连接。取两个表都有的数据—交集!
给数据表取名字-------on表示条件。找两个表的#交集
select s.name,c.name from students as s inner join classes as c on s.cls_id = c.id;
有时候我们把某张表名字搞错了,需要修改:
rename table 表1 to 表2;
交换位置:
select c.name,s.name from students as s inner join classes as c on s.cls_id = c.id;
按照班级进行排序:
select c.name,s.name from students as s inner join classes as c on s.cls_id = c.id order by c.name desc;
对两个字段进行排序
select c.name,s.name from students as s inner join classes as c on s.cls_id = c.id order by c.name desc s.id asc;
MySQL外连接—分为左连接和右连接
左连接,以左边的表为基准,取东西,取不到的显示为NULL
select * from students as s left join classes as c on s.cls_id=c.id;
右连接,以右边的表为基准,取东西,,,相当于左连接的两张表交换位置
select * from students as s right join classes as c on s.cls_id=c.id; 用的很少!!!
查询没有对应班级信息的学生
select * from students as s left join classes as c on s.cls_id=c.id having c.id is null;
多表查询时候用链接查询