select * from student order by height;
select * from student order by height asc;
排序默认数字小的在前面 也就是正序排序
给同学们以身高的高矮进行排序(倒序排序 desc)
select * from student order by height desc;
怎么排序:desc倒序 asc正序 默认正序
select 字段 form 表名 order by字段 (desc/asc/没有)
子查询
求身高最高的那个人语文成绩以及他的姓名
select chinese_score as '语文成绩',student_name as '姓名' from student where height= (select max(height) from student);
查出 小明 的 班级的名字
1、把所有的表列出来
select class.class_name from student,class where student.class_id =class.class_id and student.student_name= '小明';
(从student中找到class表里的class_name→从student.class_id里找到id同时满足student_name是小明)
当遇上多表查询的时候,最简单的方式是把表格全部罗列出来 并且把条件解析出来用and连接
这样效率低 因为查的是两张表
2、正常应该把两张表连接起来 去查询(笛卡尔积的思想) 推荐使用第二种方法
select 字段 from 表1 表1别名
left join 表2 表2别名
on 表1别名.字段 = 表2别名.字段
left join 表3 表3别名
on 表2别名.字段 = 表3别名.字段
.......
......
left join 表n 表n别名
on 表n-1别名.字段 = 表n别名.字段
where 条件;
select class.class_id from student s
left join class c
on s.class_id=c.class_id
where student.student_name='小明';
查询小丽的班主任姓名
select teacher.teacher_name from student s
left join class c
on s.c_id=c.c_id
left join teacher t
on c.t_id=t.t_id
where s.s_name='小丽';
查询小红的班主任的年龄
select teacher.age from student s
left join class c
on s.c_id=c.c_id
left join teacher t
on c.t_id=t.t_id
where s.s_name='小红'