【笔试/面试】SQL 经典面试题

基本概念

  • (1)any/all,构成 where 子句的条件判断,any:表示或(or)的概念,all:则表示与(and)的概念,这两个关键字的出现是为了语句的简化;
  • (2)先分组再做聚合,逻辑上也应当如此,聚合(取最值)之后便无分组的必要;
    select region, sum(population), sum(area) from bbc group by region;
    • 1
  • (3)group by having,having 对分组后的数据进行筛选,这是 where 所做不到的;

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

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

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

select * from ppp order by num desc limit 1;
  • 1

举一反三

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

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

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

select * from ppp
    where num in (select num from ppp group by num having count(num) > 1);
  • 1
  • 2

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

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

举一反三

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

select * from ppp
    where num in (select num from ppp group by num having count(num) = 4);
  • 1
  • 2

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);
  • 1

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;
  • 1

References

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

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

原文地址:https://www.cnblogs.com/siwnhwxh/p/10331567.html

时间: 2024-10-20 04:17:28

【笔试/面试】SQL 经典面试题的相关文章

SQL经典面试题及答案

1.一道SQL语句面试题,关于group by表内容:2005-05-09 胜2005-05-09 胜2005-05-09 负2005-05-09 负2005-05-10 胜2005-05-10 负2005-05-10 负 如果要生成下列结果, 该如何写sql语句? 胜 负2005-05-09 2 22005-05-10 1 2------------------------------------------create table #tmp(rq varchar(10),shengfu nc

sql 经典面试题

如果数据库里两个日期型字段d1,d2,怎样用sql语句列出按月的所有区间,比如表结构如下localid    d1          d21         2014-1-15    2014-3-62         2014-7-15    2014-10-15 转换成localid    d1          d21         2014-1-15    2014-1-311         2014-2-1     2014-2-281         2014-3-1     2

sql经典面试题

1. 表内容: 2005-05-09 胜 2005-05-09 胜 2005-05-09 负 2005-05-09 负 2005-05-10 胜 2005-05-10 负 2005-05-10 负 如果要生成下列结果, 该如何写sql语句? 胜 负 2005-05-09 2 2 2005-05-10 1 2 answer: select a.rq,a.sheng,b.fu from (select rq,count(shengfu) as sheng from shengfu where she

SQL经典面试题集锦

1.问题背景 (1)学生表(学号,姓名,年龄,性别) student(S#,Sname,Sage,Ssex) (2)课程表(课程编号,课程名称,教师编号) course(C#,Cname,T#) (3)成绩表(学号,课程编号,分数) student_score(S#,C#,score) (4)教师表(教师编号,教师名称) teacher(T#,tname) 2.创建表 (1)学生表 Create Table CREATE TABLE `student` ( `S#` bigint(12) NOT

SQL常见面试题2[转载]

SQL经典面试题及答案一道SQL语句面试题,关于group by表内容:2005-05-09 胜2005-05-09 胜2005-05-09 负2005-05-09 负2005-05-10 胜2005-05-10 负2005-05-10 负 如果要生成下列结果, 该如何写sql语句? 胜 负2005-05-09 2 22005-05-10 1 2------------------------------------------create table #tmp(rq varchar(10),s

数据库子查询经典面试题

数据库]SQL经典面试题 - 数据库查询 - 子查询应用二 发布于 1 年前  作者 tommy  575 次浏览  最后一次编辑是 10 个月前  来自 数据库 上节课我们通过子查询,完成了查询的最高分学生的需求,今天我们来学习子查询的分类,以及通过子查询来完成工作中经常遇到一些个性化需求. 子查询概念: 一个SELECT语句嵌套在另一个SELECT语句中,子查询也叫做内部查询,而包含子查询的语句又称为外部查询或主查询,子查询自身可以包含一个或多个子查询,一个查询语句中可以嵌套任意数量的子查询

走向面试之经典的数据库笔试题:一、你必知必会的SQL语句练习-Part 2

本文是在Cat Qi的参考原帖的基础之上经本人一题一题练习后编辑而成,非原创,仅润色而已.另外,本文所列题目的解法并非只有一种,本文只是给出比较普通的一种而已,也希望各位园友能够自由发挥. 一.书到用时方恨少:"图书-读者-借阅"类题目 1.1 本题目的表结构 本题用到下面三个关系表: CARDS 借书卡. CNO 卡号,NAME 姓名,CLASS 班级 BOOKS 图书. BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数 BORROW

mysql经典面试题

mysql 经典面试题 (2011-10-26 17:13:38) 转载▼ 标签: 杂谈 分类: 日志 1.用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息. employee: eid,ename,salary,deptid; select * from employee order by deptid desc,salary 2.列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序 创建表: mysql> create table employee921(id

12种排序算法:原理、图解、动画视频演示、代码以及笔试面试题目中的应用

出处:http://blog.csdn.net/han_xiaoyang/article/details/12163251. 声明:版权所有,转载请注明出处,谢谢. 0.前言 从这一部分开始直接切入我们计算机互联网笔试面试中的重头戏算法了,初始的想法是找一条主线,比如数据结构或者解题思路方法,将博主见过做过整理过的算法题逐个分析一遍(博主当年自己学算法就是用这种比较笨的刷题学的,囧),不过又想了想,算法这东西,博主自己学的过程中一直深感,基础还是非常重要的,很多难题是基础类数据结构和题目的思想综