SQL有意思的面试题
1、中软国际 SQL行转列
变成 
--数据准备
create table t_test(
year int,
month int,
sale int,
primary key (year, month)
); insert into t_test values (1991, 1, 110);
insert into t_test values (1991, 2, 120);
insert into t_test values (1991, 3, 130);
insert into t_test values (1991, 4, 140);
insert into t_test values (1992, 1, 210);
insert into t_test values (1992, 2, 220);
insert into t_test values (1992, 3, 230);
insert into t_test values (1992, 4, 240);
select year as '年份',
max(case month when 1 then sale else 0 end) as '一月',
max(case month when 2 then sale else 0 end) as '二月',
max(case month when 3 then sale else 0 end) as '三月',
max(case month when 4 then sale else 0 end) as '四月',
max(case month when 5 then sale else 0 end) as '五月'
from t_test group by year;
二、东方通达 复杂查询

--标准版
SELECT a.class, AVG(score), COUNT(username) FROM
(SELECT class, avg(score) FROM table1 LEFT JOIN table2
ON table1.username = table2.username GROUP BY class) AS a
LEFT JOIN
(SELECT class, COUNT(username) FROM table1 LEFT JOIN table2
ON table1.username = table2.username WHERE score < 60 GROUP BY class) AS c
ON a.class = c.class; --变态版
select class, avg(score), sum(if(score < 60, 1, 0))
from table1 left join table2 ON table1.username = table2.username GROUP BY class
SQL有意思的面试题的更多相关文章
- 一些有意思的面试题(持续更新) .C语言编程技巧札记
一些有意思的面试题(持续更新) http://blog.csdn.net/wangyuling1234567890/article/details/38565239 C语言编程技巧札记 http:// ...
- sql常见的面试题
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name kecheng fenshu 张三 语文 81张三 数学 75李四 语文 ...
- SQL SERVER 数据库面试题
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name kecheng fenshu 张三 语文 81张三 数学 75李四 语文 ...
- 一道有意思的笔试题引发的对于new操作符的思考
楼主比较喜欢看一些很短但很有意思的题目,无意间又瞥到了一题,大家不妨可以一试.(原题链接猛戳这里) function Fn1() { this.name = 'peter'; return { nam ...
- SQL常见笔试面试题
sql理论题 1.触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的.它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化.可以 ...
- 【转】一道SQL SERVER DateTime的试题
学习过上一篇SQL SERVER DateTime精度的文章后.再来做一道题. IF ('2011-07-31 00:00:00.000' BETWEEN '2011-07-01' and '2011 ...
- 关于 parseInt 的一道有意思的面试题
看完标题,入坑过的同学脑海里很快会浮现出这道经典面试题,没碰到过的同学不妨跟着楼主先来复习一遍 parseInt 的用法(主要参考 MDN). parseInt 是 JavaScript 中的一个全局 ...
- 数据库sql语句常见面试题
转载:本文转载自:https://blog.csdn.net/woshinidedege/article/details/78659202 一.有以下几张表及表结构Student(Sid,Sname, ...
- SQL优化|Java面试题
转载:https://www.cnblogs.com/Jacck/p/8030455.html 数据库的优化问题 一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂 ...
随机推荐
- Spring+Mybatis常见问题随笔
错误1:无法绑定指定方法 异常堆栈:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 原因 ...
- gulp是什么?
什么是gulp? gulp初涉 1.什么是gulp? gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器:它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的 ...
- ajax无刷新上传
我们在使用上传控件的时候,会遇到刷新的问题,最近使用ajax做的上传,觉得效果还是很不错. 首先,我们需要在页面上放上上传控件:需要注意的是,我们必须放在form里面,实现表单上传. <for ...
- JS流程控制语句 多种选择(Switch语句) 当有很多种选项的时候,switch比if else使用更方便。
多种选择(Switch语句) 当有很多种选项的时候,switch比if else使用更方便. 语法: switch(表达式) { case值1: 执行代码块 1 break; case值2: 执行代码 ...
- oi知识表
- [NOIP2019模拟赛]夹缝
夹缝 问题描述: 二维空间内有两面相对放置的,向无限远延伸的镜子,以镜子的方向及其法向量建立坐标系,我们选定一个法向量方向下面称“上”.在镜子上的整数位置,存在着一些传感器,传感器不影响光线的反射,光 ...
- 基础回顾: 关于Session的一些细节
1 session是服务端技术, cookie是客户端技术 2 默认情况下, 一个浏览器独占一个session对象, 也就是说, 开启两个浏览器进程, 它们之间使用的session不是同一个sessi ...
- IDE 插件新版本发布,开发效率 “biu” 起来了
近日,Cloud Toolkit正式推出了面向 IntelliJ 和 Eclipse 两个平台的新款插件,本文挑选了其中三个重大特性进行解读,点击文末官网跳转链接,可查看详细的版本说明. 本地应用一键 ...
- 深入浅出Mybatis系列(一)---Mybatis入门[转]
最近两年 springmvc + mybatis 的在这种搭配还是蛮火的,楼主我呢,也从来没真正去接触过mybatis, 趁近日得闲, 就去学习一下mybatis吧. 本次拟根据自己的学习进度,做一次 ...
- JDK源码阅读--StringBuffer
public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharS ...