sqlzoo易错题
https://sqlzoo.net/wiki/SELECT_names
答案在:https://github.com/codyloyd/sqlzoo-solutions/blob/master/SQLZOO_solutions.md
国内的面试可能刷这些题有点水土不服,更多人可能喜欢刷那个经典的50道题:https://www.jianshu.com/p/476b52ee4f1b














关于Order By的高级玩法,利用返回布尔值0,1来单独排序个别的Row:

另外一种写法,利用CASE WHEN THEN ELSE END 返回布尔值,优先对Physics,Chemistry排序、沉底。


select 子句中带上外层查询的限制条件,根据限制条件来获取,每个限制条件下最大的那个值,而不是采用group by 的这种思路,然后取最大值。

获取欧洲国家中gdp最大的国家。而且gdp数据为null的需要排除在外。这里关键的用法就是ALL函数。

Round函数处理数字精度的问题,0的话是保留整数精度,Concat函数拼接字符串。百分号拼接之后,需要补充上100;

利用select子查询关键外部查询条件主键,实现特定条件下,筛选最大值或者最小值。但是没有使用group by子句来分组。

要从分组数据中,找出人口总数量低于2千5百万的洲,并且列出这些洲里面的国家名字,面积,人口数量。自己做错的地方:这里不能使用group by来对大洲进行分组。页面提示group函数是有问题的。【题意理解错误,这里应该是,洲里面的所有国家,每个国家的人口数量都低于2千5百万,列出这些洲来,并且显示这些洲里面的国家的名字,面积,人口数量】

对于这种条件语句,优化的方式就是等号“=”左右两边的条件,标量值尽量放到左侧。标量值 就是不能再细分的值。all函数在《SQL基础》《SQL进阶》两本书中提及的比较少。这里求最大值和最小值的时候需要特别注意all函数的使用,结合select 子查询 跟 外部查询 ,字段进行关联,达到分组筛选的目的。

sqlzoo易错题的更多相关文章
- 【笔试题】Java 易错题精选
笔试题 Java 易错题精选 1.写出下列程序的运行结果( )String 不变性Java 值传递 public class Test { public static void main(String ...
- Java五道输出易错题解析(避免小错误)
收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了. 1. 看不见的空格? 下面的输出会正常吗? package basic; public class Integ ...
- Java五道输出易错题解析(进来挑战下)
转自:http://blog.csdn.net/lanxuezaipiao/article/details/41985243 收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注 ...
- 杭电OJ2039——三角形(c++)(易错题:数据类型不确定)
三角形 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- JAVA程序改错 (易错题)
JAVA程序改错 1. abstract class Name { private String name; public abstract boolean isStupidName(String n ...
- C++笔试易错题集(持续更新)
1.如下代码输出结果是什么? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include<stdio.h> char *myString() { ...
- Python程序设计 测验易错题总结
1.温度转换 t=input() if t[-1]=="J": t=int(t[:-1]) t1=t/4.186 print("%.3fcal"%t1) els ...
- C/C++程序员面试易错题
c部分::::::::::::::::::::::::::::::::::: . 关键字volatile有什么含意? 并给出三个不同的例 子. [参考答案]一个定义为volatile的变量是说这变量可 ...
- java考试易错题大全
常见的Java问题 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Ja ...
随机推荐
- pytorch占用过多CPU问题
Linux下,使用pytorch有时候会出现占用过多CPU资源的问题(占用过多线程),解决方法如下: 法一.torch.set_num_threads(int thread) (亲测比较有效) 法二. ...
- photoshop7.0 排版一寸照片、2寸照片
说明:必须先照一张一寸电子照片,否则是无法做成 1.本例同样采用photoshop CS5制作,其它版本通用,这里采用上一教程“PS照片处理教程-制作一寸照片并排版”的处理效果图进行排版,首先在PS中 ...
- Python3使用random生成随机数
本文介绍使用Python3中的random库生成随机数.随机小数.随机序列.随机字符串以及扑克洗牌等方法. 一.生成随机浮点数或小数 1.#生成0-1之间的浮点数 import random rnd ...
- Docker应用容器化
Docker 的核心思想就是如何将应用整合到容器中,并且能在容器中实际运行. 将应用整合到容器中并且运行起来的这个过程,称为“容器化”(Containerizing),有时也叫作“Docker化”(D ...
- 十分钟读懂JavaScript原型和原型链
原型(prototype)这个词来自拉丁文的词proto,意谓“最初的”,意义是形式或模型.在JavaScript中,原型的探索也有很多有趣的地方,接下来跟随我的脚步去看看吧. 原型对象释义 每一个构 ...
- Maven中dependencyManagement作用说明
https://blog.csdn.net/helllochun/article/details/81564921 在Maven多模块的时候,管理依赖关系是非常重要的,各种依赖包冲突,查询问题起来非常 ...
- Intellij IDEA debug断点调试技巧与总结详解篇
1. Rerun . 这个就是结束debug模式,直接以run的方式重新跑某个程序.2. 直接跑完. 到下一个断点停下. 没有就直接跑完程序.3. 停止项目或者程序.要是自己的main呢. 点一下就停 ...
- strlen()与sizeof()
一.strlen() strlen()为计算字符串长度的函数,以‘\0’为字符串结束标志.注意:其传入参数必须是字符串指针(char*), 当传入的是数组名时,实际上数组退化成指针了. 二.sizeo ...
- c++11多线程记录1 -- std::thread
启动一个线程 话不多说,直接上代码 void func(); int main() { std::thread t(func); //这里就开始启动线程了 t.join(); // 必须调用join或 ...
- C++实现 企业信息管理系统
2.1总体需求 2.2管理需求 3.总体架构 由于代码量比较大,请移步GitHub或码云 码云:传送门 , GitHub:传送门 话不多说,直接上效果 我是在Linux Ubuntu1 ...