4.mysql增删改查的补充2

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/没有)

子查询image.png

求身高最高的那个人语文成绩以及他的姓名
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='小红'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值