1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > SQL题目练习---三表联查

SQL题目练习---三表联查

时间:2019-08-18 16:31:40

相关推荐

SQL题目练习---三表联查

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

分析: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 daliselect 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;

结果:

附:创表过程

-- 创建数据库dalicreate 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='成绩表';

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。