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. setup_module和teardown_module

    setup_module .teardown_module 每个用例开始和结束调用一次 hasattr() 函数用于判断对象是否包含对应的属性 运行结果如下:

  2. Spring Shell入门介绍

    目录 Spring Shell是什么 入门实践 基础配置 简单示例 注解@ShellMethod 注解@ShellOption 自定义参数名称 设置参数默认值 为一个参数传递多个值 对布尔参数的特殊处 ...

  3. python进阶---列表、字典、集合相关操作

    基本概念 列表 序列是python中一个基本的数据结构,每个元素都有一个索引index 操作 # 创建列表 list = [] # 修改列表 list[2] = 2001 # 删除列表 del lis ...

  4. CentOS7.5 使用二进制程序部署Kubernetes1.12.2(三)

    一.安装方式介绍 1.yum 安装 目前CentOS官方已经把Kubernetes源放入到自己的默认 extras 仓库里面,使用 yum 安装,好处是简单,坏处也很明显,需要官方更新 yum 源才能 ...

  5. java上传文件类型检测

    在进行文件上传时,特别是向普通用户开放文件上传功能时,需要对上传文件的格式进行控制,以防止黑客将病毒脚本上传.单纯的将文件名的类型进行截取的方式非常容易遭到破解,上传者只需要将病毒改换文件名便可以完成 ...

  6. 写代码如何合理使用和优化我们的机器资源(CPU、内存、网络、磁盘)

    写代码脑子一定要绷紧一根弦,认知到我们所在的机器资源是有限的.机器资源有哪些?CPU.内存.网络.磁盘等,如果不做好保护控制工作,一旦某一资源满负荷,很容易导致出现线上问题. 1 CPU 资源怎么限制 ...

  7. js生成条形码——JsBarcode

    原文地址:https://www.cnblogs.com/huangenai/p/6347607.html 介绍一下在GitHub生成条形码的js插件→JsBarcode 条码支持的有: CODE12 ...

  8. 使用Mysql中的concat函数或正则匹配来快速批量生成用于执行的sql语句

    背景介绍 今天需要给一张表里面补数据,需要按照行的维度进行update,如果是个别数据那么直接写update语句就可以了,但是场景要求的是将整表的数据进行update,要实现这个需求就不能只靠蛮力了, ...

  9. mysql8.0安装时,Unable to connect to any of the specified MySQL hosts

    https://blog.csdn.net/u014776759/article/details/88422967

  10. 域名解析中的cname解析和显性URL跳转和隐性URL跳转三者有什么区别

    通俗的来讲,cname解析还是属于dns解析,只是把某个域名解析到另外一个域名对应的某个IP的空间中,所以还需要在服务器端(比如nginx)做域名解析(比如把baidu.com做一个cname解析到i ...