基本概念

  • (1)any/all,构成 where 子句的条件判断,any:表示或(or)的概念,all:则表示与(and)的概念,这两个关键字的出现是为了语句的简化;

  • (2)先分组再做聚合,逻辑上也应当如此,聚合(取最值)之后便无分组的必要;

    select region, sum(population), sum(area) from bbc group by region;
  • (3)group by having,having 对分组后的数据进行筛选,这是 where 所做不到的;

1. 不使用 min,找出表 ppp 中 num(列)最小的数

select num from ppp where num <= all(select num from ppp);

不可以使用 min 函数,但可以实用 order by 和 limit 相组合呀;

select * from ppp order by num desc limit 1;

举一反三

自然,不使用 max,找出表 ppp 中 num 最大的数:

select num from ppp where num >= all(select num from ppp);
select num from ppp order by num limit 1;

2. 选择表 ppp 中的重复记录

select * from pppwhere num in (select num from ppp group by num having count(num) > 1);

注意,如下的语句只返回单独的一条记录

select * from ppp group by num having count(num) > 1;

举一反三

查询表中出现 四 次的记录,group by having

select * from pppwhere num in (select num from ppp group by num having count(num) = 4);

3. 用一条SQL语句查询出每门课都大于80分的学生姓名

name kecheng fenshu
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90

select distinct name from stu where name not in (select distinct name from stu where fenshu <= 80);

4. 影分身,一表当做两表用

表形式如下:
Year Salary
2000 1000
2001 2000
2002 3000
2003 4000

想得到如下形式的查询结果
Year Salary
2000 1000
2001 3000
2002 6000
2003 10000

sql语句怎么写?

select b.year, sum(a.salary) from hell0 a, hello b where a.year <= b.year group by b.year;

References

[1] SQL经典面试题及答案

【笔试/面试】SQL 经典面试题相关推荐

  1. SQL经典面试题及答案

    转载自:http://blog.csdn.net/hwq1987/article/details/6670300 SQL经典面试题及答案 2007年07月27日 星期五 上午 08:42 1.一道SQ ...

  2. Hive SQL经典面试题:统计连续登陆的三天及以上的用户

    Hive SQL经典面试题 最近发现一道大数据面试经常会问的SQL题目:统计连续登录的三天及以上的用户(或者类似的:连续3个月充值会员用户.连续N天购买商品的用户等),下面就来记录一下解题思路. 要求 ...

  3. php 面试,PHP 经典面试题集

    这篇文章介绍的内容是关于PHP 经典面试题集 PHP 经典面试题集,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 结合我自己这几天面试情况,面对的一些php面试题列举出来,基本上结合自 ...

  4. sql经典面试题50题

    总结不甚清楚的有:10,19,20,22,24,25,28,41,42 --1.查询"01"课程比"02"课程成绩高的学生的信息及课程分数 --1.1.查询同时 ...

  5. 前端面试:经典面试题Foo与getName()

    从一道面试题出发 按照惯例,还是从面试题出发.用一道面试题引出相关的知识(日常面向面试学习

  6. 数据库SQL经典面试题详解

    SQL面试题不外乎增删改查,对于这种类型的题目,我的经验是先把每个表的关联关系搞清楚,它们之间是通过哪些字段关联的,可以在纸上画出关联图,再去编写SQL就不会那么头大了. 下面是四张表的关联关系图: ...

  7. SQL经典面试题(二)

    有3个表S,C,SC S(SNO,SNAME)代表(学号,姓名)  //主键:SNO    //多个人,多门课 3张表   ,SC 关系表 C(CNO,CNAME,CTEACHER)代表(课号,课名, ...

  8. oracle sql经典面试题,经典SQL面试题2

    题目: 一张名为workersalary的表,要求查询出全部信息,并且salary最高的三个人按升序排列在结果的最开头,其余的人按原有顺序排列.这个sql如何写? 解答: (1)题意理解 假如原先的表 ...

  9. SQL经典面试题--留存率问题

    留存率 定义:某一天新增用户在之后的第n天仍然登录的比例,称为第n日留存率 例如:20220101新增100人, 20220102这100人中登录了60人,次日留存率为60% 20220103这100 ...

最新文章

  1. 【mybatis】在mybatis分页查询时,主表对关联表 一对多 分页查询怎么实现
  2. VS 2012 如何发布 ASP.NET 网站到本地IIS
  3. zuul过滤器执行生命周期
  4. hana::detail::variadic::foldl1用法的测试程序
  5. 数据库MySQL基础---JDBC开发步骤--JDBC封装工具类--PreparedStatement实现CRUD操作
  6. 关系型数据库 vs 非关系型数据库
  7. laravel实现前后台路由分离(转载)
  8. tpcc-mysql percona_tpcc-mysql 对percona5.6进行压力测试
  9. SPFA ----模板 O(kE) (k一般不超过2)
  10. 使用XmlPullParser
  11. visio从mysql导入_Visio 怎么从Excel、SQL、SharePoint和其他外部源导入数据?
  12. php java转换为字符串格式_php array 转json及java 转换 json数据格式操作示例
  13. js实现table中td单元格合拼并求和
  14. qt调用simsimi api实现小黄鸡
  15. SDK emulator directory is missing | Android Studio报错
  16. android im---weichat
  17. 第一代程序员作家--王小波
  18. 解决idea版svn冲突问题 svn: E155015: Commit failed (details follow): svn: E155015: Aborting commit:
  19. MVC 音乐商店 第 2 部分: 控制器
  20. python 调用golang_python调用golang编写的动态链接库

热门文章

  1. Spark核心RDD详述
  2. mysql后天命令查下显示_MySQL命令
  3. 64位linux安装mysql数据库吗_linux下怎么安装mysql数据库
  4. python自定义抛出异常信息_浅谈python抛出异常、自定义异常, 传递异常
  5. Numpy——数组合并
  6. paddle中import onnxruntime报错缺失Microsoft Visual C++ Redistributable for Visual Studio 2019 not install
  7. libSVM + VS2013 + C++使用介绍
  8. oracle数据库索引
  9. leecode第六十二题(不同路径)
  10. [Swift]LeetCode85. 最大矩形 | Maximal Rectangle