一、数据库中有三张如下所示的表(学生表,教师表,成绩表),查出橘右京老师的学生所有分数,按照成绩倒序排列;

分析:1)本质是一个三表联查问题,SQL语句为: 

select * from A inner join 表B on 表A.列1=表B.列2 inner join 表C on 表B.列1=表C.列1

2)降序问题语法为:order by  字段   desc;

-- 查询橘右京的学生所有分数按照倒序排列

use dali

select stuId,stuName,stuScore,teaName from score s inner join students st on  s.stuId=st.id 
inner join  teacher t on st.teaId=t.id where teaName="橘右京" order by s.stuScore desc;

结果:

附:创表过程

-- 创建数据库dali
create database dali;
use dali;
-- 创建学生表
CREATE TABLE `students` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `stuName` varchar(12) NOT NULL COMMENT '学生姓名',
  `teaId` int(11) NOT NULL COMMENT '教师id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学生表';
-- 创建教师表
CREATE TABLE `teacher` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `teaName` varchar(12) NOT NULL COMMENT '老师姓名',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='教师表';
-- 创建成绩表
CREATE TABLE `score` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `stuScore` int(12) NOT NULL COMMENT '学生成绩',
  `stuId` int(11) NOT NULL COMMENT '学生id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='成绩表';

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐