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易错题的更多相关文章

  1. 【笔试题】Java 易错题精选

    笔试题 Java 易错题精选 1.写出下列程序的运行结果( )String 不变性Java 值传递 public class Test { public static void main(String ...

  2. Java五道输出易错题解析(避免小错误)

    收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了. 1. 看不见的空格? 下面的输出会正常吗? package basic; public class Integ ...

  3. Java五道输出易错题解析(进来挑战下)

    转自:http://blog.csdn.net/lanxuezaipiao/article/details/41985243 收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注 ...

  4. 杭电OJ2039——三角形(c++)(易错题:数据类型不确定)

    三角形 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  5. JAVA程序改错 (易错题)

    JAVA程序改错 1. abstract class Name { private String name; public abstract boolean isStupidName(String n ...

  6. C++笔试易错题集(持续更新)

    1.如下代码输出结果是什么? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include<stdio.h> char *myString() {     ...

  7. Python程序设计 测验易错题总结

    1.温度转换 t=input() if t[-1]=="J": t=int(t[:-1]) t1=t/4.186 print("%.3fcal"%t1) els ...

  8. C/C++程序员面试易错题

    c部分::::::::::::::::::::::::::::::::::: . 关键字volatile有什么含意? 并给出三个不同的例 子. [参考答案]一个定义为volatile的变量是说这变量可 ...

  9. java考试易错题大全

    常见的Java问题 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Ja ...

随机推荐

  1. CentOS上安装配置RabbitMQ Server

    1. 安装Erlang 由于rabbitmq是基于erlang语言开发的,所以必须先安装erlang. curl -s https://packagecloud.io/install/reposito ...

  2. bladex数据字典关联基础表

    一:引用import {getDeptTree} from "@/api/system/dept";二: { label: "部门id", prop: &quo ...

  3. 查看表空间使用情况(SQL)

    1: --查询表空间使用情况 2: SELECT Upper(F.TABLESPACE_NAME)         "表空间名", 3:        D.TOT_GROOTTE_ ...

  4. 无限用teamviewer的一种方法,虚拟机中装teamviewer

    可以使用window 多用户可以同时远程登陆的特性(win服务器版自动支持多用户同时远程登陆,非服务器版需要其他方法开启) 1.在window建立两个用户,如a,b. 2安装虚拟机vmware,安装操 ...

  5. [ARM-LInux开发]linux设备驱动makefile入门解析

    以下内容仅作参考,能力有限,如有错误还请纠正.对于一个普通的linux设备驱动模块,以下是一个经典的makefile代码,使用下面这个makefile可以完成大部分驱动的编译,使用时只需要修改一下要编 ...

  6. Oracle Spatial分区应用研究之七:同等分区粒度下全局索引优于分区索引的原因分析

    1.实验结论 同等分区粒度下,使用分区空间索引进行空间查询,比使用全局空间索引进行查询,对数据字典表的访问次数更多.假设分区数为X,则大概多3X次访问.具体说明见6实验结论. 2.实验目的 在之前的测 ...

  7. Flask源码之:配置加载

    加载配置文件的思路: 1. 读取配置文件中的所有键值对,并将键值对全都放到Config对象.(Config是一个字典,因为它继承了Dict) 2. 把包含所有配置文件的Config对象,赋值给 app ...

  8. jdbc 简单示例和优缺点

    一个使用JDBC的例子: Class.forName("com.mysql.cj.jdbc.Driver"); //加载驱动 Connection connection = Dri ...

  9. 计算几何-凸包算法 Python实现与Matlab动画演示

    凸包算法是计算几何中的最经典问题之一了.给定一个点集,计算其凸包.凸包是什么就不罗嗦了 本文给出了<计算几何——算法与应用>中一书所列凸包算法的Python实现和Matlab实现,并给出了 ...

  10. Node.js到底是什么

    接触前端也有一段时间了,逐渐开始接触Node.js,刚刚接触Node.js的时候一直都以为Node.js就是JavaScript,当对Node.js有一定的了解之后,其实并不然两者之间有关系,其中的关 ...