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 子查询 跟 外部查询 ,字段进行关联,达到分组筛选的目的。
最新文章
- CSS笔记2
- VS2012 easyui datagrid url访问之坑
- ASP.NET服务器控件使用之Reportviewer 报表
- 【转】设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)
- Codeforces Round #205 (Div. 2) : C
- 这样就算会了PHP么?-4
- 【SqlServer系列】聚合函数
- dojo拼接成CSV格式字符串
- java 第三次作业
- 知识小罐头04(idea+maven+部署war包到tomcat 下)
- Linux环境配置文件的理解
- ubuntu下同时安装anaconda2与anaconda3,并分别安装与之对应的软件
- chromium os系统编译与环境搭建
- Linux内核分析——第一章 Linux内核简介
- C#并行编程(4):基于任务的并行
- h2database轻量级数据库
- js判断客户端是否是IOS系统
- Unity3D笔记 GUI 二 、实现选项卡一窗口
- bzoj2095: [Poi2010]Bridges(二分+混合图求欧拉回路)
- Centos7+Mysql80安装+远程链接开启